Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 400尝试发布到Spring端点的错误请求_Java_Spring_Rest - Fatal编程技术网

Java 400尝试发布到Spring端点的错误请求

Java 400尝试发布到Spring端点的错误请求,java,spring,rest,Java,Spring,Rest,试图将其发布到我的Spring api { "test1":"test1", "test2":"test2", "test3":"test3" } 但我一直收到一个400错误请求响应 控制器如下所示: @RestController @RequestMapping("/rest/api") public class DokumentController { @PostMapping(value = "/test", consumes = MediaType.A

试图将其发布到我的Spring api

{
    "test1":"test1",
    "test2":"test2",
    "test3":"test3"
}
但我一直收到一个
400错误请求
响应

控制器如下所示:

@RestController
@RequestMapping("/rest/api")
public class DokumentController {

    @PostMapping(value = "/test", consumes = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity test(@RequestBody TestDTO body) {
        System.out.println(body.getTest1());
        return ResponseEntity.ok().build();
    }
}
public class TestDTO {
    private String test1;
    private String test2;
    private String test3;

    TestDTO(String test1, String test2, String test3) {
        this.test1 = test1
        this.test2 = test2
        this.test3 = test3
    }

    public String getTest1() {
        return test1;
    }

    public void setTest1(String test1) {
        this.test1 = test1;
    }

    //And so on..

}
TestDTO如下所示:

@RestController
@RequestMapping("/rest/api")
public class DokumentController {

    @PostMapping(value = "/test", consumes = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity test(@RequestBody TestDTO body) {
        System.out.println(body.getTest1());
        return ResponseEntity.ok().build();
    }
}
public class TestDTO {
    private String test1;
    private String test2;
    private String test3;

    TestDTO(String test1, String test2, String test3) {
        this.test1 = test1
        this.test2 = test2
        this.test3 = test3
    }

    public String getTest1() {
        return test1;
    }

    public void setTest1(String test1) {
        this.test1 = test1;
    }

    //And so on..

}

有人能告诉我我做错了什么吗?

您必须创建一个在DTO类中没有参数的构造函数:

public class TestDTO {
    private String test1;
    private String test2;
    private String test3;

    //Default no argument constructor
    TestDTO() {
    }

    TestDTO(String test1, String test2, String test3) {
        this.test1 = test1
        this.test2 = test2
        this.test3 = test3
    }

    public String getTest1() {
        return test1;
    }

    public void setTest1(String test1) {
        this.test1 = test1;
    }

    //And so on..

}

Jackson框架首先创建类并使用反射来设置值。

您必须创建一个在DTO类中没有参数的构造函数:

public class TestDTO {
    private String test1;
    private String test2;
    private String test3;

    //Default no argument constructor
    TestDTO() {
    }

    TestDTO(String test1, String test2, String test3) {
        this.test1 = test1
        this.test2 = test2
        this.test3 = test3
    }

    public String getTest1() {
        return test1;
    }

    public void setTest1(String test1) {
        this.test1 = test1;
    }

    //And so on..

}

Jackson框架首先创建类,并使用反射来设置值。

@arnauddenoylle
@PostMapping
fine@Jens我用的是邮递员。在主体中添加了JSON作为原始JSON(application/JSON)格式。可能是我发出请求的方式。spring似乎无法映射到我的TestDTO类。不知道why@mTv您在日志文件中看到任何错误吗?您可以发布堆栈跟踪吗?@ArnaudDenoyelle
@PostMapping
正在运行fine@Jens我用的是邮递员。在主体中添加了JSON作为原始JSON(application/JSON)格式。可能是我发出请求的方式。spring似乎无法映射到我的TestDTO类。不知道why@mTv你在日志文件中看到任何错误吗?你能发布stacktrace吗?