Skip to content

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 删