Swagger-codegen создает модель, в которой параметры были перезаписаны ссылкой на другую модель

На мой взгляд, ни один ответ не охватывает все случаи краев, поскольку синтаксический анализ поплавка должен приводить к ошибке.

function parseInteger(value) {
    if(value === '') return NaN;
    const number = Number(value);
    return Number.isInteger(number) ? number : NaN;
}
parseInteger("4")            // 4
parseInteger("5aaa")         // NaN
parseInteger("4.33333")      // NaN
parseInteger("aaa");         // NaN
2
задан Yannick Loriot 15 January 2019 в 20:00
поделиться

1 ответ

Я наткнулся на решение этой проблемы. В нашем API у нас есть почтовый запрос, который возвращает следующее.

{
  "relationship": {
    "token": "jRMcN645BQyDr67yHR3qjsJF",
    "security_answer": "Some kind of answer to a security question"
  }
}

Вот соответствующий код чванства:

post:
  summary: Create a relationship
  description: Create a relationship between a parent and a student. The student accepts the parent's `Invitation` by providing it's `token` and the correct answer to their `security_question`. Also marks the invitation as accepted so it cannot be used again.
  tags:
    - Relationships
  parameters:
    - $ref: '#/parameters/user_id'
    - name: Accept-Language
      description: 'see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language'
      in: header
      type: string
      default: en
    - in: body
      name: relationship
      schema:
        type: object
        required:
          - relationship
        properties:
          relationship:
            $ref: '#/definitions/RelationshipCreate'
  responses:
    '201':
      description: ''
      schema:
        $ref: '#/definitions/Relationship'
    '400':
      description: Bad Request

Значением ключа «отношение» является объект RelationshipCreation. Swagger-codegen, по-видимому, анализирует этот объект ответа и переписывает предполагаемую модель отношений с моделью с этим ключом в качестве имени и свойством типа RelationshipCreation.

Вывод, будьте осторожны при использовании ключей, которые соответствуют вашим существующим моделям, вы можете перезаписать ваши существующие модели при создании кода.

0
ответ дан TMin 15 January 2019 в 20:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: