资源有多个状态时如何设计RESTAPI
我将为我的web应用程序中的事件报告设计RESTAPI。事件有三种状态。i、 e.事件调查、解决和尸检。我为每个状态使用三个数据库表。我想设计RESTAPI来创建数据库的新事件。这里的新事件是指处于调查状态的事件 我尝试了两种设计RESTAPI的方法。在第一种方法中,我把三个状态看作子资源。资源有多个状态时如何设计RESTAPI,rest,http,Rest,Http,我将为我的web应用程序中的事件报告设计RESTAPI。事件有三种状态。i、 e.事件调查、解决和尸检。我为每个状态使用三个数据库表。我想设计RESTAPI来创建数据库的新事件。这里的新事件是指处于调查状态的事件 我尝试了两种设计RESTAPI的方法。在第一种方法中,我把三个状态看作子资源。 POST - /incident/investigation POST - /incident/resolved POST - /incident/postmortem 在第二种方法中,我认为应该在POS
POST - /incident/investigation
POST - /incident/resolved
POST - /incident/postmortem
在第二种方法中,我认为应该在POST方法的http响应中传递事件状态
POST-/incident
设计REST API的最佳方法是什么?REST API应该标识资源,因此您可以使用类似于
/incident/123
的内容来表示事件编号123。而/incident/123/status
将是该特定事件的当前状态
由于每个事件仅处于一种状态,因此不存在“多个状态”问题。REST API应该识别资源,因此您可以使用类似于
/incident/123
的内容来表示事件编号123。而/incident/123/status
将是该特定事件的当前状态
由于每个事件仅处于一种状态,因此不存在“多个状态”问题。状态是路径参数吗?(我想在三种状态下发布不同类型的json。)是的。我将“事件”视为结构化数据,其中指向整体的路径是指向部分数据路径的前缀。如果使用/incident/123/{status},则必须使用具有不同应用程序/json.True的多个post请求。这正是我实现它的方式
/foo
表示整个JSON对象,而/foo/bar
仅表示bar
子对象。我没有在{status}
中获得{}
,我的字面意思是/incident/{incidentnumber}/status
。这将是整个/incident/{incidentnumber}
的状态
子键/foo
表示整个JSON对象,而/foo/bar
仅表示bar
子对象。我没有在{status}
中获得{}
,我的字面意思是/incident/{incidentnumber}/status
。这将是整个/incident/{incidentnumber}