嗯,我在 Spring 中执行“DELETE”HTTP 请求时遇到了一个奇怪的问题。
我有一个 Controller 方法,我已将 DELETE 请求映射到:
@RequestMapping(value = "/{authorizationUrl}",method=DELETE)
public void deleteAuthorizationServer(
@RequestHeader(value="Authorization") String authorization,
@PathVariable("authorizationUrl") String authorizationUrl)
throws IOException {
System.out.println("TEST");
}
使用 @RequestMapping("/authorization_servers"); 映射 Controller
当我通过我的 DEV Http 客户端发送请求时,我收到了响应:405 Http method DELETE is not supported by this URL
.
请求如下所示:
DELETE localhost:8080/authorization_servers/asxas
Headers:
Authorization: "test:<stuff>"
如果有人可以调查此问题并帮助我,我将不胜感激
最佳答案
这将起作用:
@RequestMapping(value = "/{authorizationUrl}", method = DELETE)
@ResponseBody
public void deleteAuthorizationServer(
@RequestHeader(value="Authorization") String authorization,
@PathVariable("authorizationUrl") String authorizationUrl
){
System.out.printf("Testing: You tried to delete %s using %s\n", authorizationUrl, authorization);
}
你错过了@ResponseBody。您的方法实际上被调用了;正是在那之后发生的事情才产生了错误代码。
关于java - Spring - 此 URL 不支持 405 Http 方法 DELETE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23349871/