记一次Retrofit上传json引发的血案

简介: 记一次Retrofit上传json引发的血案

又是好久没写博客了,本来是准备一个月一篇的,结果人都是有惰性的,哎,不说了,说说这次遇到的问题,项目有个接口请求需要传json字符串,后台定义的是String类型,自己也是第一次用Retrofit上传json,网上百度了一下,结果发现都是通过body来上传的,


这里说一下自己遇到的问题,发送请求一直报400 Bad Request,post请求的json都被转义了,然后自己就在哪里一直的各种调试,耽误好长时间一直都没解决到,然后去问了下后台什么情况,结果告诉我一直没收到我的请求,我就慌了,回座位继续查找原因,后来终于又在网络上找了这篇文

章:https://blog.csdn.net/abc6368765/article/details/71196590,解决了我的困惑。但是这篇文章也没给出具体的解决办法,后来请教了大佬终于找到了解决方案,这里记录一下:


其实就是一句话:用@FormUrlEncoded的形式来定义就可以,不用添加header之类。


是不是很简单-_-


欢迎start,欢迎评论,欢迎指正


相关文章
|
Ubuntu
ubuntu下安装火狐浏览器及快捷图标
ubuntu下安装火狐浏览器及快捷图标
2369 0
ubuntu下安装火狐浏览器及快捷图标
|
4月前
|
存储 安全 Linux
Proxmox VE 9.0 Beta - 开源虚拟化管理平台
Proxmox VE 9.0 Beta - 开源虚拟化管理平台
514 0
Proxmox VE 9.0 Beta - 开源虚拟化管理平台
|
11月前
|
存储 缓存 前端开发
ATB算子实现原理解读
本文详细介绍了Ascend Transformer Boost(ATB)加速库中三种类型算子的执行流程及其与CANN中其他算子的区别。文章首先概述了ATB算子的实现步骤,接着深入解析了单算子和图算子的执行流程,包括kernel图构建、输入准备、内存计算、tiling数据处理及任务下发等环节。此外,还探讨了ATB在host侧性能优化上的几种机制,如Tiling Cache、Setup与InferShape复用、Runner Pool等,以及ATB中的内存优化与管理策略。最后,介绍了Context类的功能和作用,包括它如何管理ATB内部的各种公共资源。
|
安全 API Android开发
Android 中的FragmentManager
8月更文挑战第9天
352 1
|
存储 Dart Java
Dart 虚拟机运行原理
【10月更文挑战第20天】Dart 虚拟机通过一系列复杂的机制和操作,确保 Dart 代码能够准确、高效地执行。它为 Dart 语言的广泛应用提供了坚实的基础和可靠的运行环境
306 6
|
Android开发 UED Kotlin
kotlin webview 加载网页失败后如何再次重试
在Kotlin中,当使用WebView加载网页失败时,可通过设置WebViewClient并覆盖`onReceivedError`方法来捕获失败事件。在该回调中,可以显示错误信息或尝试使用`reload()`重试加载。以下是一个简要示例展示如何处理加载失败
|
缓存 Shell Android开发
Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)
ADB很强大,记住一些ADB命令有助于提高工作效率。 获取序列号: adb get-serialno 查看连接计算机的设备: adb devices 重启机器: adb reboot 重启到bootloader,即刷机模式: adb reboot bootloader 重启到re...
9718 0
|
Android开发
Android绘制竖直虚线完美解决方案—自定义View
开发中我们经常会遇到绘制虚线的需求,一般我们使用一个drawable文件即可实现,下面我会先列举常规drawable文件的实现方式。
|
Android开发
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决
ScrollView 与 ListView 以及 GridView 滑动冲突完美解决