tyr*_*ion 6 rest asp.net-web-api2
我需要定义一个 REST API,它应该获取对象的唯一标识符并返回内容。内容是从数据库检索的,并且是 JSON 类型。所以,我有一个像这样的 REST URL -
GET /data/{typename}/{objectid}
Run Code Online (Sandbox Code Playgroud)
这将返回整个对象内容。
然而,对象的内容可能很大,因此调用者可能只想指定一些或少数属性作为响应发送。我自然想到的是向 GET API 添加一个 BODY,用户可以在其中指定要检索的对象的属性名称列表。但经过进一步研究,似乎不建议使用带有 BODY 的 GET API。我能想到的另一个选择是在查询字符串中传递属性名称 -
GET /data/{typename}/{objectid}?property=prop1&property=prop2...
Run Code Online (Sandbox Code Playgroud)
但这个列表很容易变得很大。
关于我的 API 应该是什么样子有什么建议吗?我必须使用 POST 吗?
从技术上讲,使用POST可以,但不是首选。如果您正在阅读,请使用GET. 例如,Facebook 有一个类似的用例,其中/me端点有许多过滤器,并且调用是GET.
最终的 URL 是,
/me?fields=id,name,about,age_range,devices,currency,education
我建议阅读有关 GraphAPI https://developers.facebook.com/docs/graph-api/overview/和 GraphQL https://graphql.org/的更多信息
| 归档时间: |
|
| 查看次数: |
16028 次 |
| 最近记录: |