Retrofit中解决网络请求中post请求中只传递一个String字符串而非Map<String,String>形式的办法

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

最近遇到了一个特别奇怪的接口,接口的传值只要传递一个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"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值