我自己对 REST 很陌生,但我的想法是,在这里您将使用“POST”和请求的主体,其中包含创建“青少年”所需的数据,无论您使用什么格式,通常是 JSON 或 XML。在这里,我不确定您是否将青少年视为具有附加属性的人,或者青少年是否被建模为实体本身:
<person login="abc" email="abc@foo.com">
<person-property-1>value1</person-property-1>
<person-property-2>value2</person-property-2>
<teen>
<teen-property-1>value3</teen-property-1>
<teen-property-2>value4</teen-property-2>
</teen>
</person>
或者
<teen login="abc" email="abc@foo.com">
<person-property-1>value1</person-property-1>
<person-property-2>value2</person-property-2>
<teen-property-1>value3</teen-property-1>
<teen-property-2>value4</teen-property-2>
</teen>
关于 URI,我认为这些段应该是名词而不是动词,因为 URI 应该针对资源,/api/teens
而不是/api/InsertTeen
.
/api/teens
使用 HTTP GET 将返回所有青少年的列表,/api/teens
使用 HTTP POST 将插入一个新的青少年。为了完善 CRUD 操作,/api/teens/{id}
使用 HTTP GET 将返回一个特定的青少年,/api/teens/{id}
使用 HTTP PUT 将使用请求正文中传递的值更新一个青少年,并/api/teens/{id}
使用 HTTP DELETE 调用将删除指定的青少年。
编辑
再读一遍你的问题,我可能误解了。如果您不将“青少年”视为资源,而仅将“人”视为资源,那么我会考虑/api/people
使用 HTTP POST,并根据请求正文中传递的值,做任何适当的事情来存储“人” '。因此,如果请求包含“青少年”值,请调用创建“青少年”并返回“人员”的存储过程。
高温高压