'How to Customise example value of request body and execute it on swagger-ui with springdoc-open-api
I have created rest webservice using springboot and added springdoc-open-api for ducumentation of webservice, Now i have 2 question
1-how to add custom test value into request which displying on swagger-ui document page?
2-how to execute the request on click of TRY IT OUT button on swagger-ui document page?
Please refer below code snippet for rest webservice:
@PostMapping(value="/result", consumes={ "application/json"},produces={ "application/json" } )
@Parameter(description = "Student object need to calculate the score" ,name="InputObject", required = true )
public ResponseEntity<Result> displayResult(@Valid @RequestBody Student request);
Public class Student{
String name;
String birthDate;
String motherName;
int rollNo;
int seatNo;
}
Public class Result{
int marks;
String grade;
double percentage;
}
I have tried to add value of request using @Schema(name = "name", example= "Rubeena", description = "Name of student"), is it right way to add the value in example request ?
Even after adding this schema when i click on TRY IT OUT button i dont get the outcome.
Is there any way to solve this problem?
Solution 1:[1]
Using @Schema annotation, I can provide the value in example request
Public class Student{
@Schema(example= "XXX", description = "Name of student")
String name;
@Schema(example= "10-10-2020", description = "Birth date of student") String birthDate; ...... }
Solution 2:[2]
use @ApiModelProperty annotation in your dto class.
Example -
Public class Student{
@ApiModelProperty(value = "name", name = "name", dataType = "String" example = "Rube")
String name;
@ApiModelProperty(value = "birthDate", name = "birthDate", dataType = "birthDate" example = "12/12/1995")
String birthDate;
........................
}
//should work with following dependencies
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Rubeena |
Solution 2 |