我正在使用 Java/Spring MVC 开发一个应用程序,并且测试我的 GET 方法没有问题。然后我尝试使用 @RequestBody 测试 POST 时出现问题。
错误:
HTTP 415 The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.
我创建了一个简单的测试来显示我的问题:
@RestController
@RequestMapping("/test")
public class ConcreteTestController implements TestController {
@RequestMapping(method = RequestMethod.POST)
@ResponseStatus(value = HttpStatus.OK)
@Override
public void add(@RequestBody Dummy dummy) {
System.out.println(dummy);
}
@RequestMapping(method = RequestMethod.GET)
@ResponseStatus(value = HttpStatus.OK)
@Override
public Dummy get() {
Dummy dummy = new Dummy();
dummy.setName("apa");
return dummy;
}
}
Dummy 类非常简单:
public class Dummy {
private String name;
public Dummy() {}
// Omitted setters and getters.
}
来自 GET 的 json 响应如下所示:
{"name":"apa"}
我正在启动 IntelliJ REST 客户端并使用上面的 json 作为请求正文。我尝试在 header 的 Accept 下同时使用 application/json 和 /,结果没有差异。
知道什么可能导致这种情况吗?我陷入困境,希望得到帮助。
最佳答案
默认情况下,您必须在 IntelliJ 的 REST 客户端中手动添加 Content-Type。我忘记这样做并将其设置为 application/json。完成后,它工作正常。
关于java - 使用 IntelliJ REST 客户端测试 Spring MVC POST 会导致 415,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40704406/