Azure APIM设置查询参数值的作用?为何自定义值可正常转发?
Azure APIM中查询参数预设值的实际作用
你配置的sort参数预设值,核心作用是给开发者和测试人员提供取值参考,而非做值的强制校验或拦截,具体表现为:
- 辅助API文档展示:在APIM的开发者门户自动生成的API文档里,预设值会作为该参数的推荐可选值列出,让调用方快速了解预期的合法取值,减少无效尝试。
- 简化测试操作:在APIM自带的测试控制台中,预设值会以下拉选项的形式呈现,测试人员不用手动输入,直接选择就能发起测试请求。
- 注意:预设值≠默认值也≠校验规则,如果你没额外配置默认值策略,调用时不传
sort参数不会自动填充预设值;同时它也不会拦截非预设值的请求,所以你能传入其他值并转发到后端。
如果需要限制sort只能取Ascending或Descending,得在API的策略里添加validate-parameter规则,比如:
<validate-parameter name="sort" failed-validation-httpcode="400" failed-validation-error-message="sort参数只能是Ascending或Descending"> <values> <value>Ascending</value> <value>Descending</value> </values> </validate-parameter>
这样当传入非预设值时,APIM会直接返回400错误,不会转发到后端。
内容的提问来源于stack exchange,提问作者David Klempfner
相关产品推荐
相关产品推荐

