【发布时间】:2018-01-13 08:23:40
【问题描述】:
我正在为以下用例寻找 RESTful API 设计的最佳实践:
Table1 Table2
Id1 Id1
Id2 Id2
Id3 Id3
Name Name
Table1Id1(FK to Table1)
Table1Id1(FK to Table1)
Table1Id1(FK to Table1)
假设我有如下表 1 的端点:
/root/table1 (to get list of records)
/root/table2 (to get single record by primary key)
现在我的问题是,在第二个 url 中表示复合键的最佳方式是以下两个:
/root/e1/Id1/Id2/Id3
or
/root/e1?Id1=1&Id2=2&Id3=3
假设我有如下表 2 的端点:
/root/table1/Table1Id1_Table1Id2_Table1Id1/table2 (to get list of records for table2 by table1).
现在我的问题是上面的 url 在复合键的情况下是否有效且合适?
对于此用例遵循的良好模式的任何建议将不胜感激。
【问题讨论】:
-
这个:
/root/e1/Id1/Id2/Id3对 SEO 非常有用(请参阅 stackoverflow url 模式 ;-) 由于您只使用 Id,只需选择参数模式:/root/e1?Id1=1&Id2=2&Id3=3您也可以将其包装在json 对象并将其作为参数发送。
标签: rest api asp.net-web-api