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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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
Spring GET类型的RESt服务的DTO映射_Spring_Spring Boot - Fatal编程技术网

Spring GET类型的RESt服务的DTO映射

Spring GET类型的RESt服务的DTO映射,spring,spring-boot,Spring,Spring Boot,在Spring BOOT应用程序中开发REST服务 这是输入json { "rcode": 122, "ecode": [11, 12] } 控制器代码 @RequestMapping("/getPersonDTOList") public List < PersonDTO > getPersonDTOList( @RequestParam(value = "personDTO") String personDTO){ //how

在Spring BOOT应用程序中开发REST服务

这是输入json

{
    "rcode": 122,
    "ecode": [11, 12]
}
控制器代码

 @RequestMapping("/getPersonDTOList")
    public List < PersonDTO > getPersonDTOList(
        @RequestParam(value = "personDTO") String personDTO){

    //how can I map this to DTO

        }
//DTO

如何在spring BOOT中将此字符串映射到DTO,因为这是GET,我们需要手动执行。

GET方法不携带任何正文数据

你可以:

将API更改为@RequestMapping默认支持的POST方法


我不是很有经验,但如果您使用@RequestMapping,我认为您还必须设置一个类型:

 @RequestMapping("/getPersonDTOList", method = RequestMethod.POST ) // or GET...
您还可以使用@PostMapping、@GetMapping等

@PostMapping("/getPersonDTOList")
public PersonDTO getPersonDTOList(@RequestBody PersonDTO person){ 
     return person;
}

我认为这只适用于@RestController

为什么不是POST?@SudhirOjha可能是因为请求没有改变服务器上的任何东西,即数据库。您如何将json传递给rest服务?@Abhijeet我也可以将其作为请求参数传递,不必作为请求主体发送。
@RequestMapping("/getPersonDTOList")
public List < PersonDTO > getPersonDTOList(@RequestParam("rcode") int rcode, @RequestParam("ecode") List<Integer> ecode )
 @RequestMapping("/getPersonDTOList", method = RequestMethod.POST ) // or GET...
@PostMapping("/getPersonDTOList")
public PersonDTO getPersonDTOList(@RequestBody PersonDTO person){ 
     return person;
}