java - 使用 IntelliJ REST 客户端测试 Spring MVC POST 会导致 415

标签 java json spring spring-mvc intellij-idea

我正在使用 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/

相关文章:

java - 在单元测试中禁用 JMS 使用 bean

java - 使用VTD-XML仅修改元素文本

java - 多个评论 apache poi

java - 无法读取 json post 方法 (jackson)

json - jq:如何使用多个选择作为值来 reshape 对象?

java - 如何在 Spring 中排除某些 @Configuration 文件?

java - 使用 apache CXF 使用 equals/hashCode 方法从 WSDL 生成 POJO

java - 泛型类型的injector.getInstance

java - 客户端渲染 JSON 与 GPB( Protocol Buffer )

java - 如何使用 Spring 和 Mockito 模拟 ContainerRequestContext?