我正在使用wso2 API管理器1.6.0,并希望创建一个接受任何POST的API
on / users资源后跟任何查询参数,例如“clientid”(如下所述)
restserver.com:8280/context/1/users?clientid=333
我在API发布商中创建了一个API,如下所示:
网址前缀网址格式HTTP动词
/ context / 1 / users / * POST
接受/ users上的任何POST,但是当我添加查询参数/ users?clientid = 333时,该请求被API管理器网关拒绝,并返回403错误。
有人可以就此提出建议以及正确的网址映射格式是什么?
在synapse配置文件中生成的url映射如下:(synapse-configs / default / api /)
非常感谢。
JS
答案 0 :(得分:0)
为此,您需要定义uri-template
而不是uri-mapping
。 This blog post更多地解释了这一点。
对于你的情况,我得到了如下工作。
打开您的API配置源,可在AM_HOME\repository\deployment\server\synapse-configs\default\api
文件夹中找到。
在resource
标记中将url-mapping="/users/*"
属性更改为uri-template="/users/*"
但是您必须使用其他上下文调用API,因为当您说/users/*
时,它意味着users/
之后可能出现任何问题。因此,您需要在/
上下文后设置users
。
restserver.com:8280/context/1/users/usr?clientid=333