RESTful - 将子资源添加到资源:POST / subresource或POST / resource / id / subresource?

时间:2016-09-27 10:03:57

标签: rest api

我想在案例中添加附件。

我应该选择哪个请求?

$args = array( 'post_type' => 'books' );
$args = array_merge( $args, $wp_query->query );
query_posts( $args );

POST /cases/123/attachments
{
   "fileName" : "subscription.pdf",
   "content" : "JVBERi0xLjYNJeLjz9MNCjE1MzMgMCBvYmoNPDwvTGluZWF..."
}

我想两者都是正确的。

3 个答案:

答案 0 :(得分:3)

虽然我会选择第一个,但两者都很好,因为它使案例和附件之间的关系更加明确。然后,您还可以使用GET /cases/:id/attachments

检索案例的所有附件

答案 1 :(得分:1)

如果可以在资源之间共享单个附件,那么第二个附件是正确的。但是,如果附件不是独立的情况,那么第一个附件会更好。

如果没有案例,附件是否有意义?

答案 2 :(得分:0)

两者都是正确的。我会选择第二个,我不喜欢分层URI,因为它们通过描述多层次层次结构而变得复杂。我会使用GET /attachments/?case=id来检索案例的附件。