我正在使用 Spring MVC,我有一个更新用户配置文件的功能:
@RequestMapping(value = "/{userName}" + EndPoints.USER_PROFILE,
method = RequestMethod.PUT)
public @ResponseBody ResponseEntity<?> updateUserProfile(
@PathVariable String userName, @RequestBody UserProfileDto userProfileDto) {
// Process update user's profile
}
我已经开始使用 JMeter,出于某种原因,他们在发送带有正文的 PUT 请求时遇到问题(在请求正文中或使用请求参数 hack)。
我知道在 Jersey 中你可以添加一个过滤器来处理 X-HTTP-Method-Override 请求参数,这样你就可以发送一个 POST 请求并使用 header 参数覆盖它。
在 Spring MVC 中有什么方法可以做到这一点吗?
谢谢!
最佳答案
Spring MVC 有 HiddenHttpMethodFilter它允许您包含一个请求参数 (_method
) 来覆盖 http 方法。您只需将过滤器添加到 web.xml 中的过滤器链中。
我不知道使用 X-HTTP-Method-Override
header 的现成解决方案,但您可以创建一个类似于 HiddenHttpMethodFilter 的过滤器
自己使用 header 更改值而不是请求参数。
关于java - Spring MVC 和 X-HTTP-Method-Override 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15365660/