我正在尝试使用更新后的方法将json提交到服务器。
如果我的服务器使用的是apache服务器,则它可以工作,但是如果使用的是nginx服务器,则它不能工作..
我正在尝试使用虚拟api进行解释。 我在做什么?
URL:
https://mysite_url/3.6.2/create_dummy_data
有效载荷:
{"access_token":"476be4412cef4a3490c2fa2cef5b4cfa","distance":"2000","credit":"200","duration":"10","competitor_id":"180"}
我在这里处理这个问题:
//@headers({"Content-Type: multipart/form-data"}) this is optional
//@headers({"Content-Type: application/json"}) this is optional
@post(URL)
Observable<PayloadDummy> dummySubmitApi(@query("payload") String s);
服务器错误:
带有多部分标题:
[错误] 6419#6419:* 26在stderr中发送的FastCGI:“ PHP消息:PHP 警告:未知的多部分/表单数据POST数据中缺少边界 在第0行上”,同时从上游读取响应标头
没有任何标题:
response_status_code 500请求“ POST /3.6.2/create_dummy_data HTTP / 1.1“ 180.151.5.333--[25 / Jun / 2018:11:19:17 +0000] 17730”-“ “ okhttp / 3.10.0”“-”“ {\ x22access_token \ x22:\ x22476be4412cef4a3490c2fa2cef5b4cfa \ x22,\ x22competitor_id \ x22:\ x22469 \ x22,\ x22credit \ x22:\ x22200 \ x22,\ x22distance \ x22:\ x221000 \ x22 \ x22 \ x22 \ x22 \ x22 ,\ x22type \ x22:\ x220 \ x22}“”-“ “-”“-”“-” {\ x22access_token \ x22:\ x22476be4412cef4a3490c2fa2cef5b4cfa \ x22,\ x22competitor_id \ x22:\ x22469 \ x22,\ x22credit \ x22:\ x22200 \ x22,\ x22distance \ x22:\ x221000 \ x22 \ x22 \ x22 \ x22 \ x22 ,\ x22type \ x22:\ x220 \ x22}
我使用了边界,但是它不起作用..
如何解决我的问题..请建议我。
答案 0 :(得分:0)
创建一个pojo类用于发送json数据。您可以根据robopojo pulgins来制作pojo类,或参考此网站http://www.jsonschema2pojo.org/
在日期之后定义用于api调用的方法。
@POST("url")
Call<ResponseData> getData(@Body User user);
以及服务器响应pojo类
答案 1 :(得分:0)