我有一个休息应用程序,它根据用户通过 UI 选择的城市或县从数据库中提取数据。
城市和县是动态传递的,因为用户可以选择所有 50 个州。
端点是这样的:
http://localhost:8080/my-api/state/FL/City
http://localhost:8080/my-api/state/FL/County
http://localhost:8080/my-api/state/CA/City
http://localhost:8080/my-api/state/AK/County
etc...etc....
现在,我想使用 Apigee 和密钥来保护这些端点。我已经创建了代理和产品,并且能够使用我的新 Apigee URL 从应用程序中获取 json:
https://company.api-nonprod.com/my-first-api/state/TX/City?apikey=ldekQ5VqlXFQq7YusetSeqbeidxdo5
到目前为止,一切都很好。:)
现在我需要将这个 EndPoint 添加到前端配置文件中。
我的本地端点运行良好。
http://localhost:8080/my-api/state
如何添加这个新的 Apigee 端点和密钥?
这不起作用,因为它一直将参数附加到 url 的末尾而不是 apikey 之前。
https://company.api-nonprod.com/my-first-api/state?apikey=ldekQ5VqlXFQq7YusetSeqbeidxdo5
错误网址
https://company.api-nonprod.com/my-first-api/state?apikey=ldekQ5VqlXFQq7YusetSeqbeidxdo5/TX/City
浏览完 Apigee 文档后,我进入了“开发”选项卡,在该选项卡中我可以指定如何引用 APIKey。
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="request.formparam.x-apikey"/>
</VerifyAPIKey>
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="request.header.x-apikey"/>
</VerifyAPIKey>
<VerifyAPIKey name="APIKeyVerifier">
<APIKey ref="request.queryparam.x-apikey"/>
</VerifyAPIKey>
现在我被困在 AssignMessage 消息文档中。
如何使用键将动态值传递给 Apigee?