我正在使用 Java 和 Spring 构建一个 REST API,我需要在我的控制器中处理一个 POST 请求,但我需要从该请求中提取主体,它是一个 JSON,也是该请求的“来源”,
@RequestMapping(value = "/create", method = RequestMethod.POST)
public XXX createMyObject(@RequestBody String data, YYY){
MyObject mo = new MyObject();
mo.setData = data;
mo.setOrigin = yyy;
myRepository.save(mo);
return XXX;
}
Run Code Online (Sandbox Code Playgroud)
我有几个问题:首先是如何获得该请求的来源(我猜这是一个在标头中传播的网址?),是否有与 @RequestBody 类似的注释?。
我的第二个问题是在这些 post 方法中作为响应返回的正确对象通常是什么。
cra*_*wor 14
回答您的问题:
如果您HttpServletRequest在方法参数中包含,您将能够从那里获取来源信息。例如。
public XXX createMyObject(@Requestbody String data, HttpServletRequest request) {
String origin = request.getHeader(HttpHeaders.ORIGIN);
//rest of code...
Run Code Online (Sandbox Code Playgroud)
}
对于休息响应,您需要返回对象 (json) 或 HttpStatus 的表示,以通知客户端调用是否成功。例如
Return ResponseEntity<>(HttpStatus.ok);
| 归档时间: |
|
| 查看次数: |
12910 次 |
| 最近记录: |