我向我的后端发出了POST请求,但我只是使用改造获得了400。 我更深入地研究了这个问题并实现了,因为我的POST主体是一个普通的字符串(不是JSON),每当我有双引号时,它会在它后面放一个反斜杠然后发送请求。这是电话:
@POST("/endpoint")
Observable<Result<MyResponse>> myApiCall(@Body String body);
我做了一些研究,人们建议我需要添加一个StringConverterFactory,但这没有帮助(我按照这个链接:String converter factory)
我认为改装github页面中的链接已经过时了!
答案 0 :(得分:3)
试试这个..
@POST("/endpoint")
Observable<Result<MyResponse>> myApiCall(@Body RequestBody body);
RequestBody body= RequestBody.create(MyRequest.create("data"));
public abstract class StringRequestBody extends RequestBody {
public static RequestBody create(String content) {
MediaType contentType = MediaType.parse("application/plain");
Charset charset = Util.UTF_8;
if (contentType != null) {
charset = contentType.charset();
if (charset == null) {
charset = Util.UTF_8;
contentType = MediaType.parse(contentType + "; charset=utf-8");
}
}
byte[] bytes = content.getBytes(charset);
return create(contentType, bytes);
}
}
答案 1 :(得分:0)
试试这个:
@POST(&#34;端点&#34) 可观察到的&GT; myApiCall(@Body String body);