我试图找到这个问题的答案,但我似乎无法找到我正在寻找的东西。因此,如果这个问题已经存在,我深表歉意。
问题:
我希望能够在我的控制器中访问通用方法内的请求的请求类型。
描述:
使用 Spring ROO 和 Spring MVC,我开发了一个小型 Web 服务,当被查询时,它会响应来自数据库的某些花絮。在我的一个控制器类中,我有一些方法可以处理在 @RequestMapping 参数中映射的 URI 的各种 GET、PUT、POST 等。
例如:
@RequestMapping(method = RequestMethod.Get, value = "/foo/bar")
@ResponseBody
public ResponseEntity<String> getFooBar() {
// stuff
}
如果向当前未映射的 Web 服务发出请求,则会返回 405 错误(这是正确的),但我想返回更多信息以及 405 响应。也许回应如下:
“我知道你试图执行一个 [some method],但这条路径只处理 [list of proper methods]。”
所以我写了一个只有RequestMapping的简短方法:
@RequestMapping(value = "/foo/bar")
我发现具有此映射的方法将捕获所有未处理的请求类型。但是我无法从方法中访问请求的信息,特别是类型。
问题:
A. 如何从方法中访问请求类型?
或
B. 这是正确的方法吗?什么是正确的方法?
编辑
答案:
我HttpServletRequest
在方法参数中添加了一个对象。我能够从中访问方法类型。
我尝试使用HttpRequest
,但它似乎不太喜欢。
谢谢大家!