上下文:
给定 REST 服务规范。服务操作将为外部系统提供 SharePoint 数据。在询问规范的创建者之前。做一些澄清,我想确定我没有错过任何琐碎的约定......
问题:
如何解读这个参数规范?
Parameters: PartNumber *, SerialNumber(n) *, CategoryNumber (optional search term), Description (optional search term)
到目前为止我的想法:
首先我以为'*'表示该参数是可选的,意思是'all'。这与可选 REST 路径参数的 C# WCF 约定相关,也与 SharePoint 搜索约定相关(其中 * 表示:全部)
但是接口(interface)规范对 CategoryNumber 使用“(可选搜索词)”,所以我假设“*”可能不是完全相同的...
另外:“SerialNumber(n) *”中的“(n)”可能是什么意思?
最佳答案
Given a REST service specification
根据牛津英语词典,definition specification 一词的含义是:
An act of identifying something precisely or of stating a precise requirement
我认为这不符合条件。
这些参数是路径、请求正文、查询字符串还是它们的组合?
这是一种非常不正统的记录方法,基本上无法解释。
API 提供者应该使用一种标准的 API 规范格式,例如 OpenAPI,而不是产生这种歧义。 (招摇),RAML , 或 API Blueprint .
面对你的情况,我完全不着急问清楚。
事实上,我会告诉 API 提供者这种级别的文档完全不能令人满意。
By default I suppose path parameters where it is possible
好吧,我最好的猜测是:
这些都是 body 参数。 POST 请求负载类似于:
{
"PartNumber":"*",
"SerialNumber":"6786,9879,8979"
}
这样做的原因-
我假设所有参数都是同一类型。如果这是真的,那么这两个可选参数使我得出结论,它们必须是主体参数,因为这通常是可选参数的建模方式。
因此,* 只是通配符查询词。
(n) 只是表示允许使用多个序列号值的笨拙方式。
问题是,我完全错了,所以去澄清一下。
关于c# - REST 接口(interface)参数规范中的术语不明确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41609039/