我正在端点调用用于 NOTAM 的 FAA 社区 API https://notamsexternal-api.faa.gov/notamapi/v1/
有人有使用该 API 的经验吗? 我有一个问题是: 在 API 定义中,我看到字段
lastUpdatedDate
,它的类型为 Int。
由于字段 effectiveEndDate
的类型为字符串(并且包含具有 ISO8601 日期的日期,因此我希望 lastUpdatedDate
字段也是字符串,而不是数字。
如果我在从代码调用 API 时在其中输入数字(+10 或 -10),我会得到与将该字段留空时相同数量的 NOTAM。
如果我在其中输入日期字符串(例如 10 天前的日期),我也会在响应中得到相同数量的 NOTAM。似乎我在该字段中输入的所有内容都被忽略了。 如果我在 API 页面的 LastUpdatedDate 字段中输入数字来测试服务调用,我会收到错误请求(正数、负数或 0)。如果我在该页面中输入日期,我会收到“lastUpdatedDate 无效”。检查文档',所以它也假设一个 Int。
原来是API页面的bug。 如果我发送不超过 72 小时的 ISO8601 格式的日期,我确实会得到正常的答案!!
一个注意事项:日期应根据 iso8601 进行格式化,但 : 必须编码为 %3A,而不是 4 位 unicode 或 utf8 编码,而不是根据 http url 编码应允许的普通 : 。不幸的是,对于 Swift,这意味着您无法使用 URLComponent。