MVC七大注解

 

注解方式,写成了两级路径,类上的是一级路径,方法上是二级路径

调用时,必须把两级路径写全,不然不能调用

@Controller

1.具有component的基础含义,被spring管理,当成bean注入到spring容器中

2.可以让该类中的方法返回String,该String默认就是view-name

3.标志该层为表现层或者控制层

 @RequestMapping

映射地址和controller或者方法的关系,

 写在controller上就是一级路径,写在方法上就是二级路径

 同样效果的 GetMapping,PostMapping,PutMapping,DeleteMapping

 @ResponseBody

封印 被视图解析器解析的效果( 避过视图解析器的解析 )

返回想要返回的数据类型,String就是String,而不是view-name

@RequestBody

加载参数前

要求前端必须传json格式,就算没有传参,你也得传给我一个空的json {}

如果用form-data传参,其实就是(application/x-www-form-urlencoded)

会报错 415 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported 支持

如果没有传参

也会报错,400 Required request body is missing 请求体缺失

 @RestController

1.具有component的基础含义,被spring管理,当成bean注入到spring容器中

 2.可以让该类中的方法避过视图解析器的解析,返回的String不再是view-name

3.标志该层为表现层或者控制层

@RestController和@Controller做了一个对比

 是否被视图解析器解析

 @RequestParam("name") String username

 加载参数前

1.当前端传值时,key值和后端不一致,可以用该注解解决,

2.当前端没有传该注解起的名字name时,前端调用接口就会报400的错误

Required String parameter 'name' is not present 不存在不在场

@PathVariable

加载参数前

获取地址栏动态参数,/{as}

如果参数类型转化发生异常,会报错

Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer';

nested exception is java.lang.NumberFormatException: For input string: "abc"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值