android - 改造 POST 方法不适用于 nginx 服务器
问题描述
我正在尝试使用改造后的方法将我的 json 提交到服务器。
如果我的服务器使用 apache 服务器,它可以工作,但如果是 nginx 服务器,它就不能工作..
我正在尝试用虚拟 api 进行解释。我在做什么?
网址:
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 FastCGI sent in stderr: "PHP message: PHP Warning: Missing boundary in multipart/form-data POST data in Unknown on line 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\222,\221\x22duration\x22:x ,\x22type\x22:\x220\x22}""-" "-" "-" "-" {\x22access_token\x22:\x22476be4412cef4a3490c2fa2cef5b4cfa\x22,\x22competitor_id\x22:\x22469\x22,\x22credit\x22: \x22200\x22,\x22distance\x22:\x221000\x22,\x22duration\x22:\x221\x22,\x22type\x22:\x220\x22}
我使用了边界,但它不起作用..
如何解决我的问题..请建议我..
解决方案
为您发送 json 数据创建一个 pojo 类。您可以基于 robopojo pulgins 生成 pojo 类或参考此站点http://www.jsonschema2pojo.org/
在日期之后定义此方法用于 api 调用..
@POST("url")
Call<ResponseData> getData(@Body User user);
以及服务器响应 pojo 类
推荐阅读
- javascript - 将 ondrop 分配给 JavaScript 中的元素
- python-3.x - RuntimeWarning 尝试运行 Discord Bot 时
- php - 从下拉 php 中删除选定的选项
- r - 在 for 循环中使用 Grepl 获得完全匹配
- python - DeserializationError:无法反序列化内容类型:text/html 使用 Python 下载 blob
- javascript - TypeError:无法在“窗口”上执行“获取”
- python - Pygame如何检查第二次按键
- redux - 了解 Redux 功能
- node.js - npm 在哪里安装软件包?
- javascript - javascript中的双重等待是什么意思?