我正在为测试和测试运行元数据设计一个RESTful API。我有两个资源:Test
和TestRun
。在数据库中他们有一对一的关系。通过向另一个(相关)资源发送POST请求来创建/修改资源
首先,我通过发送POST
到api/v1/test
创建一个Test
资源。
然后我必须开始这个测试。我通过发送POST
到api/v1/test/{id}/run
来创建TestRun
资源,该资源与该Test
资源相关。
然后,我还可以通过发送POST
到api/v1/test/{id}/finish
,该修改对应TestRun
资源停止测试(设置一些领域,如finish_time
,result
等)。
API的用户将永远不会有GET
访问TestRun
资源,并且只会通过其相关的Test
资源访问它们。
虽然看起来这个设计对于API用户来说非常简单,但我怀疑这对开发人员来说也很简单。这个设计是否足够好?它是否违反任何REST原则或最佳实践?我将不胜感激这方面的任何投入。
整个API的扩展设计说明:https://gist.github.com/Ch00k/27724e29ec1bf044ebbfdabef9e842d5
'我怀疑这对开发人员来说也很简单'。可能是什么问题呢? – 2016-11-29 10:42:30
@Lutz Horn这显然是一个错误的问题:)我只是想知道,如果这样做是一个好主意,并且它不符合REST最佳实践。 –