How to request origin and body of a request in Spring controller
我正在使用Java和Spring构建REST API,并且需要在控制器中处理POST请求,但是我需要从该请求中提取主体,该主体是JSON以及该请求的"来源",
1 2 3 4 5 6 7 8 9 | @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; } |
我有几个问题:首先是如何获取该请求的来源(我想这是在标头中传播的url?),是否有与@RequestBody类似的注释?。 >
我的第二个问题是,在此类post方法中作为响应返回的通常合适的对象是什么。
回答您的问题:
如果在方法参数中包括
1 2 3 |
} ??
对于其余响应,您将需要返回对象(json)或HttpStatus的表示形式,以通知客户端调用是否成功。例如
您应该能够从HttpServletRequest对象获取标头和uri
1 |
至于响应,我会说返回String,这将是一个视图名称,您可以向其传递一些属性来表示操作是否成功,或者传递给ModelAndView。
@自动连线
私有HttpServletRequest servletRequest;
您可以声明请求对象,然后在方法中访问以获取Uri
尝试一下:
1 2 3 4 5 6 |