具有不同内容类型的REST API

时间:2013-02-19 11:52:37

标签: api rest web-applications content-type

我有一个REST API端点来修改资源,即PUT。资源可以有一个与之关联的文件,因此我支持两种不同的内容类型:application / json和multipart / form-data。第一种是在不关联文件的情况下修改资源,第二种是在我想将文件与资源关联时修改资源。

代表这个的最佳方式是什么?我是否应该为两种不同的内容类型使用相同的URI,例如更新/:RESOURCEID?我应该有两个不同的端点,例如update /:resourceId和updateWithResource /:resourceId?或者这完全是错误的方式,我应该做点什么呢?

1 个答案:

答案 0 :(得分:3)

内容类型只是同一资源的不同表示。因此,只要它们代表相同的东西,它们就可以共享相同的URI。

URI不应该影响内容类型,这不是RESTish。仅使用内容类型标题协商表示。