Picture Picture Picture Picture Picture Picture Picture

java ResultFul 和sping常用注解

什么事ResultFul
区别于post和get固定的请求方式。可以做到使用PUT。DELECT等
使用一个url做到不同的事情(一般对应操作一个数据库表的不同操作)
REST,即 REpresentational State Transfer 的缩写。这个词组的翻译过来就是"表现层状态转化"。

概念

资源(url) /classes/classId/teachers:列出某个指定班级的所有老师
表现形式 如 json,xml,image,txt 等
状态转移 通过增删改

接口规范

动作

GET :请求从服务器获取特定资源。 GET /classes(获取所有班级)
POST :在服务器上创建一个新的资源 POST /classes(创建班级)
PUT :更新服务器上的资源 PUT /classes/12(更新编号为 12 的班级)
DELETE :从服务器删除特定的资源 DELETE /classes/12(删除编号为 12 的班级
PATCH :更新服务器上的资源 改变属性,使用的比较少

命名

url 不能有动词,只有复数名词
 使用—      invitation-code
  添加特定条件的话,建议使用 url 参数的形式(GET    /classes?state=active&name=guidegege)

例子

可用注解

@RequestMapping(value="{id}",method=RequestMethod.GET)
@RequestMapping(value="{id}",method=RequestMethod.POST)
@RequestMapping(value="{id}",method=RequestMethod.DELETE)
@RequestMapping(value="{id}",method=RequestMethod.PUT)
或者组合注解

Tips(SpringMVC部分注解)

SpringMVC注解:
1@Controller:标注该类为控制层类
2.@RequestMapping:标注请求的地址
3.@ResponseBody:把java对象转化为json对象
4.@Valid:标注校验该数据
5.@PathVariable:接收uri地址的值赋值给参数
6.@SessionAttributes:保存到Session中
7.@RequestParam:接收参数若参数名不同可用,当没传参数值时可设置默认值
8.@ExceptionAdivice:标注一个类为异常处理类
9.@EcceptionHandler:标注一个方法为异常处理方法
10.@InitBinder:时间参数处理格式

spring注解

类bean的注入

1、@SpringBootApplication=@Configuration(Spring上下文导入bean或配置类)+
@EnableAutoConfiguration(自动配置)+@ComponentScan(描该类所在的包下所有的类)
2、注入注解:@Component(Spring 组件) @Service,@Controller,@Repository(dao层)=@mapper
3、@RestController=@Controller+@ResponseBody( JSON 或 XML 形式数据)
@RestController只返回对象,对象数据直接以 JSON 或 XML 形式写入 HTTP 响应(Response)中,
这种情况属于 RESTful Web服务,这也是目前日常开发所接触的最常用的情况(前后端分离)

bean对象的配置

4、@Scope

5、

前后端传值

@PathVariable 用于获取路径参数 {klassId}
@RequestParam 获取指定参数 ?

@RequestBody 读取Request的body部分并且为application/json 格式的数据,自动将数据绑定到 Java 对象

配置文件的读取

@Value("${property}"

@ConfigurationProperties


PropertySource(不常用) 指定读取某个配置文件

参数校验

校验注解,直接注解加在我们 JavaBean 的属性上面,这样就可以在需要校验的时候进行校验了
lomback参数校验 ((不能为空+指定长度+正则表达式)
常用属性参数校验注解


自定义参数校验属性注解(Validator)
1、自定义注解-》指定2为处理类
2、Validator类-》implements ConstraintValidator<注解,String>
3、javaBean上使用注解

步骤

验证请求体
1、JavaBean 使用lomback+属性参数校验注解
2、 Controller中+@RequestBody @Valid 验证失败,它将抛出MethodArgumentNotValidException 默认为400
3、自定义异常捕获

验证请求参数(Path Variables 和 Request Parameters)
1、 Controller +@Validated
2、@Valid @RequestParam("name") @Size(max = 6,message = "超过 name 的范围了") String name
3、自定义捕获 ConstraintViolationException

验证其他spring组件
使用@Validated和@Valid

全局处理 Controller 层异常

事务 @Transactional

json 数据处理

@JsonIgnoreProperties 作用在类上用于过滤掉特定字段不返回或者不解析。
@JsonIgnore一般用于类的属性上,作用和上面的@JsonIgnoreProperties 一样
@JsonFormat一般用来格式化 json 数据。
扁平化对象 @JsonUnwrapped
private Location location; 去掉Location 的类名

@DateTimeFormat

测试注解


posted @ 2020-08-28 12:02  云行雨步  阅读(700)  评论(0编辑  收藏  举报
Title - Artist
0:00