Add QueryString documentation when using TransferObject with @ModelAttribute as single argument #3029
-
I'd like to add OpenAPI documentation to my project but I have the following problem : openapi: 3.0.1 info: title: OpenAPI definition version: v0 servers: - url: http://localhost:8080 description: Generated server url paths: /product: get: tags: - product-controller operationId: getProductTOsByFilter parameters: - name: filter in: query required: true schema: $ref: "#/components/schemas/ProductTO" responses: "200": description: OK content: '*/*': schema: type: array items: $ref: "#/components/schemas/ProductTO" components: schemas: ProductTO: type: object properties: productID: type: string productName: type: string weight: type: number format: float description: type: string The result I want is to have productID and productName as parameters in the yml documentation. openapi: 3.0.1 info: title: OpenAPI definition version: v0 servers: - url: http://localhost:8080 description: Generated server url paths: /product: get: tags: - product-controller operationId: getProductTOsByFilter parameters: - name: productID in: query required: false - name: productName in: query required: false responses: "200": description: OK content: '*/*': schema: type: array items: $ref: "#/components/schemas/ProductTO" components: schemas: ProductTO: type: object properties: productID: type: string productName: type: string weight: type: number format: float description: type: string Thank you everyone in advance |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 7 replies
-
It seems to have been discussed before and then it was a no #119 (and a second time more recently #2439).
Could we elaborate on this reasoning? Personally I would like the api-object itself to describe what expectations it has on data (i.e., whether it is required or not), so I would most likely create several different ProductXTO to describe the different permutations of required field combinations that can exists (this is of course not viable if |
Beta Was this translation helpful? Give feedback.
I believe a possible approach could be to introduce a meta-annotation similar to the one introduced here, and then make it carry a number of annotations that describe the query parameters that you have (and you could probably make the annotation take an argument, so you could controller the
required
value for each annotation?).The annotation that I am thinking of would be:
from swagger annotations.