how do I provide an example for the body of a request in my Swagger UI? I am using Springboot as a framework. This is the smallest java code to reproduce the problem:
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.ExampleObject;
@RestController
@RequestMapping("/api/my/problem")
public class MyProblemResource {
@PostMapping(value = "/")
@Operation(summary = "Create person")
public ResponseEntity<PersonDTO> getPerson(
@io.swagger.v3.oas.annotations.parameters.RequestBody(
description = "the person you want to create, in json format",
content = @Content(examples = @ExampleObject( value = "foobar"))
)
@RequestBody PersonDTO person){
return ResponseEntity.ok().build();
}
}
class PersonDTO{
String firstName;
String lastName;
public PersonDTO() {}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
So I would expect the string "foobar" to appear in the generated Swagger UI, but it doesn't: the text in the black box should be "foobar"
Edit: I've also tried putting the annotation at the method level as suggested by https://stackoverflow.com/users/1076463/robin, like this: https://pastebin.com/FPGHuYKd , still no luck.
By the way, those annotations come from a dependency in my Maven pom.xml :
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>