API后缀Azure API管理中的路径参数

dsekswqp  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(106)

是否可以在Azure APIM中创建多个包含路径参数的API。我想创建多个API,如下所示:

用户https://{MyAPI}.azure-api.net/organisations/{orgId}/users
密码类型https://{MyAPI}.azure-api.net/organisations/{orgId}/entitytypes
工作流https://{MyAPI}.azure-api.net/organisations/{orgId}/workflows

我需要给予不同产品访问不同API的权限。一个产品只能访问用户和用户类型,而另一个产品可以访问所有内容。
这在Azure APIM中是否可行?
我尝试在API URL后缀字段中添加路径参数,但不断收到URL无效错误。我在文件中也没有看到这些。(我可能走错路了)

编辑:更新了问题布局。

wydwbb8l

wydwbb8l1#

您可以通过以下方式在Azure APIM中添加以下URL-

用户https://{MyAPI}.azure-api.net/organisations/{orgId}/users
密码类型https://{MyAPI}.azure-api.net/organisations/{orgId}/entitytypes
工作流https://{MyAPI}.azure-api.net/organisations/{orgId}/workflows

最初,我创建了一个API

然后在其中添加 Users、* IdentyTypes * 和 *Workflows * 作为操作。

您可以检查Json文件,其中orgid作为路径参数添加。

{
    "openapi": "3.0.1",
    "info": {
        "title": "Test API",
        "description": "",
        "version": "1.0"
    },
    "servers": [{
        "url": "https://*****.azure-api.net/organisations"
    }],
    "paths": {
        "/{orgId}/users": {
            "get": {
                "summary": "Users",
                "operationId": "users",
                "parameters": [{
                    "name": "orgId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": ""
                    }
                }],
                "responses": {
                    "200": {
                        "description": null
                    }
                }
            }
        },
        "/{orgId}/entitytypes": {
            "get": {
                "summary": "EntityTypes",
                "operationId": "entitytypes",
                "parameters": [{
                    "name": "orgId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": ""
                    }
                }],
                "responses": {
                    "200": {
                        "description": null
                    }
                }
            }
        },
        "/{orgId}/workflows": {
            "get": {
                "summary": "Workflows",
                "operationId": "workflows",
                "parameters": [{
                    "name": "orgId",
                    "in": "path",
                    "required": true,
                    "schema": {
                        "type": ""
                    }
                }],
                "responses": {
                    "200": {
                        "description": null
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "apiKeyHeader": {
                "type": "apiKey",
                "name": "Ocp-Apim-Subscription-Key",
                "in": "header"
            },
            "apiKeyQuery": {
                "type": "apiKey",
                "name": "subscription-key",
                "in": "query"
            }
        }
    },
    "security": [{
        "apiKeyHeader": []
    }, {
        "apiKeyQuery": []
    }]
}

通过这种方式,您可以添加路径参数。

相关问题