REST是REpresentational State Transfer的缩写(一般中文翻译为表述性状态转移),REST 是一种体系结构,而 HTTP 是一种包含了 REST 架构属性的协议,为了便于理解,我们把它的首字母拆分成不同的几个部分:
表述性(REpresentational): REST 资源实际上可以用各种形式来进行表述,包括 XML、JSON 甚至 HTML——最适合资源使用者的任意形式;
状态(State): 当使用 REST 的时候,我们更关注资源的状态而不是对资源采取的行为;
转义(Transfer): REST 涉及到转移资源数据,它以某种表述性形式从一个应用转移到另一个应用。
简单地说,REST 就是将资源的状态以适合客户端或服务端的形式从服务端转移到客户端(或者反过来)。在 REST 中,资源通过 URL 进行识别和定位,然后通过行为(即 HTTP 方法)来定义 REST 来完成怎样的功能。
GET:读取(Read)
POST:新建(Create)
PUT:更新(Update)
PATCH:更新(Update),通常是部分更新
DELETE:删除(Delete)
package com.zyu.webmoudle.Controller;
import com.zyu.webmoudle.Entity.CarEntity;
import com.zyu.webmoudle.Service.TestService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class TestController {
@Autowired
private TestService testService;
@GetMapping(value="/carData")
public List<CarEntity> getAllCar(){
return testService.getAllcarService();
}
@ApiOperation(value="获取car信息", notes="通过carId获取car信息")
@GetMapping(value="/carData",params = "carId")
public List<CarEntity> getAllCarById(@RequestParam(value="carId") Integer carId){
return testService.getAllcarServiceById(carId);
}
@DeleteMapping(value="/carData",params = "carId")
public void deleteByCarId(@RequestParam(value="carId") Integer carId){
testService.delete(carId);
}
@PostMapping(value="/carData")
public void createCar(Integer carId,String carNum,String carType,String carColor,String carState,Double carDailymoney){
testService.insertCar(carId,carNum,carType,carColor,carState,carDailymoney);
}
@ApiOperation(value="修改carNum信息", notes="通过carId修改对应的carNum信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "carId", value = "汽车ID", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "carNum", value = "车牌号", required = true, dataType = "String")
})
@PutMapping(value="/carData")
public void updateCar(Integer carId,String carNum){
testService.updateCar(carId,carNum);
}
}
- 访问http://localhost:8080/swagger-ui.html#/就可以看到自动生成的API了,为了更容易理解我们自己可以再进一步的对接口进行描述,使用这几个注解
@ApiOperation
@ApiImplicitParam
@ApiImplicitParams