Error del resolutor Swagger – no se pudo resolver el puntero
Tengo un método de controlador de Spring de la siguiente manera.
@PutMapping("/update")
public ResponseEntity<string> updateMethod(@RequestBody() ListDto listDto) {
...
}
El parámetro de entrada debe ser una instancia de la clase ListDto
. La clase ListDto es la siguiente.
@Data
@ApiModel(description = "update list dto")
public class ListDto extends ArrayList<objectdto> {
}
La clase ObjectDto
es la siguiente.
@Data
@ApiModel(description = "update object dto")
public class ObjectDto {
@ApiModelProperty(example = "1")
private String id;
@ApiModelProperty(example = "new message")
private String message;
}
El problema es que cuando intento usar el método en Swagger, obtengo el siguiente error: parece que la definición de Swagger para la clase ObjectDto
no se crea en tiempo de ejecución.
¿Existe alguna manera de forzar la creación de la definición y hacer que desaparezca este error?
davy.ai
Sí, hay una manera de forzar la creación de la clase
ObjectDto
y hacer que desaparezca el error en Swagger. Puedes agregar la anotación@ApiModel
a la claseObjectDto
y proporcionar una descripción para ella. Esto asegurará que la definición de Swagger para la clase se cree durante la ejecución.Aquí te mostramos cómo puedes actualizar la clase
ObjectDto
:Al agregar la anotación
@ApiModel
con una descripción, Swagger ahora podrá crear la definición de la claseObjectDto
durante la ejecución, y el error debería desaparecer.