diff --git a/src/config/openapi/studio-v1.yaml b/src/config/openapi/studio-v1.yaml index 836aa00..f630344 100644 --- a/src/config/openapi/studio-v1.yaml +++ b/src/config/openapi/studio-v1.yaml @@ -959,7 +959,12 @@ components: allOf: - { $ref: "#/components/schemas/WorkingCopyInputBase" } - type: object - required: [kind, questionStatus, facts, assumptions, unknowns, constraints, options, nextValidation, resolution] + # `resolution` 은 여기 없다. 미해결 질문에는 해결 내용이 없고, 그것을 required 로 두면 + # Java 생성기가 nullable 여부와 무관하게 @NotNull 을 찍는다 — oneOf 로 적은 null 을 그 + # 생성기는 읽지 못한다. 실제로 그래서 Question 작업본을 만들 수 없었다: 프론트가 계약대로 + # resolution: null 을 보냈고 백엔드가 422 로 거절했다. 같은 목록의 `questionStatus` 가 + # 통과하는 것은 그쪽이 nullability 를 `type: [string, "null"]` 로 적었기 때문이다. + required: [kind, questionStatus, facts, assumptions, unknowns, constraints, options, nextValidation] properties: kind: { type: string, enum: [QUESTION] } questionStatus: