Get请求如何传递数组、对象

文章目录

  • Get请求如何传递数组
    • 1、将数组参数传递多次
    • 2、直接将数组指用逗号分隔
  • Get请求如何传递对象

Get请求如何传递数组

1、将数组参数传递多次

可以将数组参数传递多次,springmvc会将多个同名参数自动封装成数组或者集合对象,示例如下:

请求URL
http://127.0.0.1:8099/springbootIntegration/test/testQuest?page=1&size=2&ids=11&ids=22

Get请求如何传递数组、对象_第1张图片

后端接口


@RestController
@RequestMapping("/test")
public class ControllerTest {

    @GetMapping("/testQuest")
    public String testQuest( @RequestParam int page, @RequestParam int size, @RequestParam String [] ids){

        return "Hello World";
    }
}

2、直接将数组指用逗号分隔

示例如下:
请求URL
http://127.0.0.1:8099/springbootIntegration/test/testQuest?page=1&size=2&ids=11,22

Get请求如何传递数组、对象_第2张图片
后端接口


@RestController
@RequestMapping("/test")
public class ControllerTest {

    @GetMapping("/testQuest")
    public String testQuest( @RequestParam int page, @RequestParam int size, @RequestParam String [] ids){

        return "Hello World";
    }
}

Get请求如何传递对象

Get请求一般用请求头来传递简单参数、但也可用Body传递对象,甚至可以一起使用。

如下:
Params加入page、size参数
Get请求如何传递数组、对象_第3张图片
Body中加入数组对象
Get请求如何传递数组、对象_第4张图片

后端接口


@RestController
@RequestMapping("/test")
public class ControllerTest {

    @GetMapping("/testQuest")
    public String testQuest( @RequestParam int page, @RequestParam int size,  String [] ids){

        return "Hello World";
    }
}

我们知道@RequestParam可以通过value属性指定参数名,requ设置参数是否必须、设置参数默认值等。
三个参数加不加@RequestParam都正确,下面两种也正确:

@GetMapping("/testQuest")
    public String testQuest(  int page,  int size,  String [] ids){
        return "Hello World";
    }
 @GetMapping("/testQuest")
    public String testQuest( @RequestParam int page, @RequestParam int size,  @RequestParam String [] ids){

        return "Hello World";
    }

注意:
接口参数String [] 加@RequestParam时,此参数只能放在GET请求的Params中
接口参数String [] 加@RequestBody时,此参数只能放在GET请求的Body中

若接口参数是一个List< Object> 或者实体对象 需要@RequestBody注解,参数只能放在GET请求的Body中

你可能感兴趣的:(Spring,java,servlet,前端)