@requestbody返回创建身体后的null
我已经用gson创建了requestbody
,并添加到post
请求,但是在API(url)的Controller
中,所有attrs return return null。
添加到
requestbody
:mediatype json = mediaType.parse(“应用程序/json; charset = utf-8”); gson gson = new gson(); jsonObject jsonObject = new jsonobject(); jsonobject.put(“ datafromappchinh”,“ demo thoi”); jsonobject.put(“路径”,路径); 字符串身体= gson.tojson(jsonobject); 请求Bodure requestBody = requestBody.Create(Body,JSON); 请求= new request.builder()。url(“ http://” + path +“/api/startApp”)。
控制器
@RestController @requestmapping(“/api”) 公共类聊天机器人{ @postmapping(value =“/startApp”) @Responsebody 公共对象开始(@requestbody()chatbotresponse item){ 尝试 { item.SetResponselist(startApp(item.getPath())); 返回项目; } catch(Exception ex){ log.error(ex); 返回ex.getMessage(); } } }
我的
chatbotresponse
pojo:@data 公共类ChatBotResponse { 私有字符串数据fromappchinh; 私人字符串响应师; 私人字符串路径; }
i have created RequestBody
with Gson and add to Post
request, but in the controller
of api (url), all attrs return null.
Add to
RequestBody
:MediaType JSON = MediaType.parse("application/json; charset=utf-8"); Gson gson = new Gson(); JSONObject jsonObject = new JSONObject(); jsonObject.put("dataFromAppChinh", "demo thoi"); jsonObject.put("path", path); String body = gson.toJson(jsonObject); RequestBody requestBody = RequestBody.create(body, JSON); Request request = new Request.Builder().url("http://" + path + "/api/startapp").post(requestBody).build();
Controller
@RestController @RequestMapping("/api") public class ChatBot { @PostMapping(value = "/startapp") @ResponseBody public Object start(@RequestBody() ChatBotResponse item) { try { item.setResponseList(startApp(item.getPath())); return item; } catch (Exception ex) { log.error(ex); return ex.getMessage(); } } }
My
ChatBotResponse
POJO:@Data public class ChatBotResponse { private String dataFromAppChinh; private String responseList; private String path; }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现问题是
gson.toJson(jsonObject)
在我的Json String
之前插入map
字符串。我更改为 jsonObject.toString() 并成功了。
i found problem is
gson.toJson(jsonObject)
insertmap
string before myJson String
.I changed to
jsonObject.toString()
and it worked.