P31 整体更新或新增 PUT
之前我们做的一个Controller CompanyCollectionsController
P31 整体更新或新增 PUT
这个方法传进来一组id。通过id来获取一组company
P31 整体更新或新增 PUT
针对这个controller传过来一组要更新的company。实际上很少这么去做。这里不这么做。
P31 整体更新或新增 PUT

P31 整体更新或新增 PUT
回顾post
P31 整体更新或新增 PUT
回顾put
P31 整体更新或新增 PUT
put可以使用带着id的URI来进行创建
P31 整体更新或新增 PUT

开始写代码

修改这里的代码,EmployeeController的updateEmployeeForCompany的action
P31 整体更新或新增 PUT
如果这里我们通过EmployeeId查不到Entity的话。这里我们就不返回404NotFound了 。这里我们就直接创建一个。
P31 整体更新或新增 PUT

先把entity转换为Employee然后,给EmployeeId赋值,然后调用添加Employee的添加方法。
P31 整体更新或新增 PUT
save保存数据
P31 整体更新或新增 PUT

由于我们是创建资源,所以需要返回创建这个资源的;链接
P31 整体更新或新增 PUT
复制过来,只需要改下entity
P31 整体更新或新增 PUT

返回的类型我们就改下
P31 整体更新或新增 PUT

测试

这是之前的一个put请求
P31 整体更新或新增 PUT

这里的id对应的是存在的资源
P31 整体更新或新增 PUT

id的最后四位改成4个0
P31 整体更新或新增 PUT
返回了201。新生成的id就是我们传递过来的id
P31 整体更新或新增 PUT
再发送一个同样的请求,这次返回204。因为这个资源已经存在了 所以他走的就是更新操作。
P31 整体更新或新增 PUT
执行一次请求和多次请求对资源的副作用是一样的。这里特地使用了guid作为主键这样可以通过我们的url传递进来由客户端指定了id.
如果使用了int等自增类型就不行了。
 

put这里就讲到之类,实际上put用的比较少。

很少会去资源做整体的更新。用到最多的还是局部更新。


 

结束




 

相关文章:

  • 2022-02-17
  • 2022-02-15
  • 2021-09-04
  • 2021-06-09
  • 2021-09-27
猜你喜欢
  • 2021-07-17
  • 2021-08-30
  • 2021-12-08
  • 2022-12-23
  • 2021-04-27
相关资源
相似解决方案