Restful API
1.项目依赖(pom.xml)
配置依赖项,
2.配置文件(application.yml)
配置服务器参数、数据库连接参数
3.实体类(Entity)
具有实际意义的类
4.Repository层(数据访问)
继承JpaRepository接口,Hibernate会将接口内的方法转化为SQL去执行。供Service调用。
异常
- DuplicateKeyException 插入数据违反了唯一性约束,如插入已存在数据
- DatalntegrityViolationException 数据操作违反了数据库的完整性约束
- DataAccessResourceFailureException 无法连接到数据库
- TransactionSystemException 事务处理失败
5.Service层(业务逻辑)
持有Repository,在对数据库访问前进行业务逻辑操作,可调用其它Service,供Controller调用。
异常
- IIlegalArgumentException: 参数值不满足逻辑要求
- NullPointerException: 空指针异常
- 自定义抛出异常
6.Controller层(RESTFUL API)
持有Service,请求被路由到当前方法时,进行请求解析与参数校验,调用Service,并返回DTO数据。
异常
- HttpMessageNotReadableException请求体无法读取
- MethodArgumentNotValidException 实体类字段校验失败
- MissingServletRequestParameterException 请求缺少@RequestParam标记为必填的参数
- MethodArgumentTypeMismatchException:请求的HTTP方法与接口定义的映射规则不同
- HttpMediaTypeNotSupportedException: 请求的Content-type不受支持
GET方法
@GETMapping("/hello")
public String Hello(){
return "Hello world";
}访问localhost:8080/hello即可得到由服务器返回的数值
GET传参
@GETMapping("/hello/{id}")
public String HelloId(@PATHVARIABLE Long id){
System.out.println(id);
return id.toString();
}访问localhost:8080/hello/2即可得到2
7.测试API(curl或Postman)
- POST 增
- GET 查
- PUT 改
- DELETE 删