Question about Swagger 2.X Annotations
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Question about Swagger 2.X Annotations
Hi
I want to use Object(like sample below :Contractor) to get input values from the frontend.
May I use the @RequestBody annotation to define which parameters will pass(not all parameters in the Object)
from the frontend?
@POST @Consumes(MediaType.APPLICATION_JSON) public Response insert(@RequestBody(description = "Created contractor object", required = true, content = @Content( schema = @Schema(implementation = Contractor.class)))Contractor contractor) { ... }
Thanks
Solved! Go to Solution.
- Labels:
-
Swagger Core
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Regards,
Rao.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
assuming this in scope of usage of swagger-core to resolve an OpenAPI spec from a JAXRS project, you can indeed use @RequestBody (in the specific case you can even skip that, as the parameter Type will be resolved as requestBody); If you need to hide specific properties (if this is what you mean with "not all parameters in the Object") in Contractor, you can add @Hidden annotations there to the properties you want to hide.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your response.
I will show some pics to describe my question.
I want my swagger ui show like below
- schema show all of my Course parameters
- example value show part of my Course parameters
I use this code ,but not working.
@POST @Operation(summary = "insert new course") @Consumes(MediaType.APPLICATION_JSON) public Response insert(@RequestBody(required = true, content = @Content(schema = @Schema(implementation = Course.class, example = "{'courseName': 'test','courseType': 'testtest','courseDescription': 'myDescription'}"))) Course course, @Context HttpServletRequest request, @Context HttpServletResponse response) { return null; }
Is it possible make schema and example value different with annotations?
Thanks
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is achievable in latest 2.0.8-SNAPSHOT version and upcoming release by providing an unnamed example to the content, as in test https://github.com/swagger-api/swagger-core/blob/master/modules/swagger-jaxrs2/src/test/java/io/swag...
Before 2.0.8-SNAPSHOT unnamed examples were not supported, you could still add named examples as in https://github.com/swagger-api/swagger-core/blob/898bccdd72c2982f51e2cdab9baac53b7f2c7ac1/modules/sw..., but they not yet supported by UI (support will come soon)
