RESTful
RESTful = Representational State Transfer 即表现层状态转移 加 ful (即形容词后缀) 则表示是形容词性的
这样说可能不好理解,表现层应该就是我们操作的对象即资源,通过CRUD等操作 使用不同的请求方式
GET(获取资源)
POST(创建资源)
PUT(更新资源)
PATCH(局部更新)
DELETE(删除资源)
以GET,POST为例
[HttpGet("{id}")] public IActionResult Get(string id) { var data = new GoodsEnt() { id = id, name = "iphone11s pro max", price = 9999, num = 100 }; return Ok(data); } [HttpPost] public IActionResult Post([FromBody] GoodsInfo goodsInfo) { if (goodsInfo == null) { return BadRequest(); } string id = Guid.NewGuid().ToString(); var data = new GoodsEnt() { id = id, name = goodsInfo.name, price = goodsInfo.price, num = goodsInfo.num }; return CreatedAtRoute(new { id = id }, data); }
前端使用post方式创建资源,这里我们使用CreatedAtRoute返回(需要引用.net core mvc),他会在header里多返回一个拼接好的地址,这意味着我们post完之后直接可以使用这个地址来请求get方法
若在HTTPGet后面加“{id}”,我们还可以http://localhost:5000/api/Goods/caaf4477-4e5c-40db-bba3-363fcbf916a6 这样访问。
那RSETful风格有什么好处呢?
1.统一资源接口
CRUD接口名字一致,无需要再创建其他接口名字
2.职责清晰
通过不同的请求方式,可以很清晰的知道每个接口的作用