[译] 在Web API 2 中实现带JSON的Patch请求

本文介绍了如何在.NET Web API 2中实现JSON Patch请求,探讨了三种常见方法:分别为每个属性创建API、使用ODATA和创建可空属性的patch类型。作者推荐使用符合RFC6902标准的JSON Patch,因其灵活性和RESTful特性。文章还提供了在Web API 2中使用JSON Patch的简单实现,并提到了相关库的局限性和未来的发展趋势。
摘要由CSDN通过智能技术生成

原文链接:The Patch Verb in Web API 2 with JSON

我想在.NET4.6 Web API 2 项目中使用Patch更新一个大对象中的某个字断,这才意识到我以前都没有用过Patch。这是一次难得的学习机会。

我不知道在Web API 2中最好的实现方式是什么,所以我按照惯例,用google搜索"Patch Web API"。我得到的第一条结果是Michael McKenna’s “How to Add JSON Patch Support to Web API”。看起来只要照做就行了,但是我想知道为什么他一定要为此写个解决方案。毫无疑问地,在Web API中Patch是一个非常常见的需求,难道.NET就没有一个原生的方式实现它吗?也许Michael也不知道。

经过一番探索之后,在几乎所有的论坛和博客中都无外乎如下三种方法,却没有一个是我喜欢的。

1. 为每个属性写一个api

有人建议为每个修改写个方法,例如设置“Book.Name”,设置“Book.PageCount”等等。毫无疑问地,这种方式实现起来非常花时间,并且也不好维护,特别是当对象中有很多属性或者有很多对象的时候,简直就是天坑:(。

2. 使用ODATA

很多人建议在项目中包含.NET 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值