据我所知,RESTful API 中通常使用四种方法:
使用GET来获取资源。
使用POST来更新资源。
使用PUT来创建或替换资源。
使用DELETE来删除资源。
假设我们有一个名为“apple”的资源,可以通过多种方式进行“更新”,例如削皮、切片或制作苹果汁。每个不同的更新操作都需要不同的参数,在它们的API中,共同的部分将是:
所以我的问题是: 在这个场景中,如何设计一个优雅的RESTful API集,让后端能够轻松处理它?
使用GET来获取资源。
使用POST来更新资源。
使用PUT来创建或替换资源。
使用DELETE来删除资源。
假设我们有一个名为“apple”的资源,可以通过多种方式进行“更新”,例如削皮、切片或制作苹果汁。每个不同的更新操作都需要不同的参数,在它们的API中,共同的部分将是:
POST /apple HTTP/1.1
Host: www.example.com
<different combination of arguments>
在这种情况下,三个API共享相同的URI和相同的请求方法,它们唯一的区别是参数。我认为这迫使后端准备接受这些参数的联合集,并且为了区分实际请求的操作,后端需要检查参数的组合。这太过复杂而不优雅。所以我的问题是: 在这个场景中,如何设计一个优雅的RESTful API集,让后端能够轻松处理它?
PUT /apple/color newColor=red
,或者PUT /apple cmd=updateColor&newColor=red
,这两个API的URI和参数组合,哪一个更好(或更符合RESTful风格)? - dastan