@ -62,10 +62,8 @@ import org.springframework.context.annotation.Profile;
import org.springframework.http.HttpStatus ;
import org.springframework.http.HttpStatus ;
import org.thingsboard.common.util.JacksonUtil ;
import org.thingsboard.common.util.JacksonUtil ;
import org.thingsboard.server.common.data.StringUtils ;
import org.thingsboard.server.common.data.StringUtils ;
import org.thingsboard.server.common.data.ContactBased ;
import org.thingsboard.server.common.data.cf.CalculatedField ;
import org.thingsboard.server.common.data.cf.CalculatedField ;
import org.thingsboard.server.common.data.exception.ThingsboardErrorCode ;
import org.thingsboard.server.common.data.exception.ThingsboardErrorCode ;
import org.thingsboard.server.common.data.id.HasId ;
import org.thingsboard.server.exception.ThingsboardCredentialsExpiredResponse ;
import org.thingsboard.server.exception.ThingsboardCredentialsExpiredResponse ;
import org.thingsboard.server.exception.ThingsboardErrorResponse ;
import org.thingsboard.server.exception.ThingsboardErrorResponse ;
import org.thingsboard.server.service.security.auth.rest.LoginRequest ;
import org.thingsboard.server.service.security.auth.rest.LoginRequest ;
@ -359,16 +357,11 @@ public class SwaggerConfiguration {
. addSchemas ( "ThingsboardErrorResponse" , ModelConverters . getInstance ( ) . readAllAsResolvedSchema ( new AnnotatedType ( ) . type ( ThingsboardErrorResponse . class ) ) . schema )
. addSchemas ( "ThingsboardErrorResponse" , ModelConverters . getInstance ( ) . readAllAsResolvedSchema ( new AnnotatedType ( ) . type ( ThingsboardErrorResponse . class ) ) . schema )
. addSchemas ( "ThingsboardCredentialsExpiredResponse" , ModelConverters . getInstance ( ) . readAllAsResolvedSchema ( new AnnotatedType ( ) . type ( ThingsboardCredentialsExpiredResponse . class ) ) . schema )
. addSchemas ( "ThingsboardCredentialsExpiredResponse" , ModelConverters . getInstance ( ) . readAllAsResolvedSchema ( new AnnotatedType ( ) . type ( ThingsboardCredentialsExpiredResponse . class ) ) . schema )
. addSchemas ( "ThingsboardErrorCode" , errorCodeSchema )
. addSchemas ( "ThingsboardErrorCode" , errorCodeSchema )
// Pre-register types to prevent springdoc resolution-order issues:
// Pre-register types referenced with @JsonIgnoreProperties on fields
// - Types referenced with @JsonIgnoreProperties on fields (e.g. CalculatedField
// (e.g. CalculatedField via EntityExportData.calculatedFields) to prevent
// via EntityExportData.calculatedFields) to prevent field-level ignore lists
// field-level ignore lists from polluting the global schema when resolution
// from polluting the global schema.
// order varies.
// - Intermediate interfaces/classes (e.g. ContactBased, HasId) that springdoc
. addSchemas ( "CalculatedField" , ModelConverters . getInstance ( ) . readAllAsResolvedSchema ( new AnnotatedType ( ) . type ( CalculatedField . class ) ) . schema ) ;
// only creates as "*Object" byproducts; pre-registering the base name lets
// the duplicate removal pass clean them up.
. addSchemas ( "CalculatedField" , ModelConverters . getInstance ( ) . readAllAsResolvedSchema ( new AnnotatedType ( ) . type ( CalculatedField . class ) ) . schema )
. addSchemas ( "ContactBased" , ModelConverters . getInstance ( ) . readAllAsResolvedSchema ( new AnnotatedType ( ) . type ( ContactBased . class ) ) . schema )
. addSchemas ( "HasId" , ModelConverters . getInstance ( ) . readAllAsResolvedSchema ( new AnnotatedType ( ) . type ( HasId . class ) ) . schema ) ;
}
}
private OperationCustomizer operationCustomizer ( ) {
private OperationCustomizer operationCustomizer ( ) {