http://editor.swagger.io を使用してAPIを設計していますが、対処方法がわからないエラーが表示されます。
Schema error at paths['/employees/{employeeId}/roles'].get.parameters[0]
should NOT have additional properties
additionalProperty: type, format, name, in, description
Jump to line 24
同様の方法で定義された他のエンドポイントがありますが、このエラーは発生しません。インデントや閉じられていない引用符に問題があるのではないかと思ったが、そうではないようだ。 Googleも有用な結果を提供していないようです。
swagger: "2.0"
info:
description: Initial draft of the API specification
version: '1.0'
title: App 4.0 API
Host: api.com
basePath: /v1
tags:
- name: employees
description: Employee management
schemes:
- https
paths:
/employees/{employeeId}/roles:
get:
tags:
- employees
summary: "Get a specific employee's roles"
description: ''
operationId: findEmployeeRoles
produces:
- application/json
parameters:
- name: employeeId <====== Line 24
in: path
description: Id of employee whose roles we are fetching
type: integer
format: int64
responses:
'200':
description: successful operation
schema:
type: array
items:
$ref: '#/definitions/Role'
'403':
description: No permission to see employee roles
'404':
description: EmployeeId not found
ヒントはありますか?
エラーメッセージは誤解を招くものです。実際のエラーは、パスパラメーターにrequired: true
がないことです。パスパラメータは常に必要なので、required: true
を必ず追加してください。
Helen required: true
で述べられているように、type:DataType
もそうであるように、構文には2つのパラメーターが必要になる場合があります。エラーは誤解を招くものです。