spring常用注解(一)请求类

一、@Controller与@RestController:写在类头,用于标识是处理器类。@RestController 等于 @Controller+@ResponseBody,表示该类接口只返回数据,不返回页面;

二、@RequestMapping:请求到处理器功能方法的映射规则。@RequestMapping可以接收post请求也可以接收get请求。

用法实例:

(1)@RequestMapping(value={"", "/"}):可以为空或者/
如配置了@RequestMapping(value={"test", "test1"}),如果项目端口是8080;然后要访问这个方法,
可以通过 http://localhost:8080/test或者http://localhost:8080/test1来访问。

(2)

三、@RequestParam与@RequestBody:controller接口接收参数注解。一个请求方法体最多只能有一个RequestBody,可以有多个RequestParam。

1、@RequestParam:为缺省注解,@RequestParam注解主要有下列参数:

(1) value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;()Boolean包装类型类型:默认Boolean.FALSE,其他引用类型默认为null。

(2)required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;

(3)defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties['java.vm.version']}”。

接收参数实例:访问时,参数追加在url后,可以接收get请求,也可以接收post请求:

(1)接收基本型、包装类型:http://localhost:9999/demo/test/paramTest?a=5&b=aaa

@RequestMapping("/paramTest")
    public ResponseMessage param(int a,String b){
        System.out.println("param"+a+" "+b);
        return ResponseMessage.success();
    }

(2)接收数组: http://localhost:9999/demo/test/paramTest?userIds=a,b,c,d

@RequestMapping("/paramTest")
    public ResponseMessage param(String[] userIds){
        System.out.println(userIds[0]);
        return ResponseMessage.success();
    }

  注意:数组参数用逗号隔开,如果写成http://localhost:9999/demo/test/paramTest?userIds=[a,b,c,d],控制台打印的是:[a

(3)接收集合: @RequestParam不可以接收集合。

(4)接收对象:http://localhost:9999/demo/test/paramTest?userName=张三

@RequestMapping("/paramTest")
    public ResponseMessage param(UserDTO user){
        System.out.println("param"+user.getUserName());
        return ResponseMessage.success();
    }

2、@RequestBody:必须是post请求,且参数放在body请求体中,接收的是JSON字符串。与RequestParam不同的是RequestBody可以接收集合

3、@RequestBody与@RequestParam混合使用:

 @RequestMapping("/multiTest")
    public ResponseMessage body(@RequestBody UserDTO userDTO,String a){
        System.out.println(userDTO.getUserName()+","+a);
        return ResponseMessage.success();
    }

spring常用注解(一)请求类_第1张图片

你可能感兴趣的:(SpringMVC)