最近遇到了一个特别奇怪的接口,接口的传值只要传递一个String字符串,而非传统形式中的Map<String,String>,接口样式如下:

尝试了很多方法都不行,困扰了我好久,写接口的人也早就离职了,公司里没人能帮我,最后我冥思苦想了一周后,终于解决了这个问题,先说结论:
结论:Retrofit中可以通过传入RequestBody的方式,自定义post中传递的值,这样不管是String类型,还是Map<String,String>类型,都可以自定义的去传递了
下面是问题解决方法:
1.先编写api
@POST Call<ResponseBody>text(@Url String url,@HeaderMap Map<String,String> headermap,@Body RequestBody body);
2.编写网络请求数据
API api = RetrofitManager.getRetrofit().create(API.class);
Map<String, String> head = new HashMap<>();//请求头
head.put("accept", "application/json");
String updata="这里是需要上传的String字符串";//需要上传的信息
String url="post请求需要的地址值";//URL地址值
RequestBody requestBody =RequestBody.creat

在遇到只需要传递一个String字符串的POST接口时,使用Retrofit通过RequestBody实现自定义传递值。创建API,设置请求头,将String转换为RequestBody,调用接口并处理响应。这种方式能解决非传统Map<String, String>形式的参数问题,提升问题解决能力。"
49717235,4938993,Ubuntu tftp配置与测试详解,"['Ubuntu', '网络服务', 'tftp', '文件传输']

2320

被折叠的 条评论
为什么被折叠?



