我有一个REST API端点来修改资源,即PUT。资源可以有一个与之关联的文件,因此我支持两种不同的内容类型:application / json和multipart / form-data。第一种是在不关联文件的情况下修改资源,第二种是在我想将文件与资源关联时修改资源。
代表这个的最佳方式是什么?我是否应该为两种不同的内容类型使用相同的URI,例如更新/:RESOURCEID?我应该有两个不同的端点,例如update /:resourceId和updateWithResource /:resourceId?或者这完全是错误的方式,我应该做点什么呢?
答案 0 :(得分:3)
内容类型只是同一资源的不同表示。因此,只要它们代表相同的东西,它们就可以共享相同的URI。
URI不应该影响内容类型,这不是RESTish。仅使用内容类型标题协商表示。