Как добавить атрибуты в методы контроллера в ASP.NET Core для создания расширений OpenAPI - PullRequest
1 голос
/ 07 июня 2019

Я хочу сгенерировать документ OpenAPI, используя NSwag для моих методов контроллера ASP.NET, но с пользовательскими расширениями OpenAPI .

Пример: вот часть моей спецификации OpenAPI. Я хочу упомянуть SLA каждого пути:

  /v1/address/verifyAddress:
    put:
      summary: Verify address
      operationId: verifyAddress
      produces:
        - application/json
      parameters:
        - in: body
          name: body
          required: false
          schema:
            $ref: '#/definitions/Address'
      responses:
        '200':
          description: successful operation
          schema:
            type: array
            items:
              $ref: '#/definitions/Address'
      x-sla:
        responseTime: '100'
        availability: '85'
        requestsPerSecond: '50'

Можно ли добавить атрибут на контроллер для достижения этого через NSwag? Если нет, какие-либо предложения сделать это программно в ASP.NET Core?

[HttpPut]
[Route("verifyAddress")]
[ProducesResponseType(typeof(ApiDetailsModel), statusCode: 200)]
[SwaggerOperation("validateAddress")]
public async Task<IActionResult> VerifyAddress([FromBody] AddressModel model)
{}

Спасибо!

...