by Guest » 11 Jan 2025, 12:39
Ich habe ein Beispiel für Spring Boot mit MongoDb erstellt. Ich habe ein Problem damit, eine Entität anhand der ID mit Validierung abzurufen, während sie „auslöst“
".
Hier ist die unten gezeigte Entität
Code: Select all
@Getter
@Setter
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "airport-collection")
public class AirportEntity extends BaseEntity {
@Id
@Indexed(unique = true)
@Field(name = "_id")
private String id = UUID.randomUUID().toString();
@Field(name = "AIRPORT_NAME")
private String name;
@Field(name = "CITY_NAME")
private String cityName;
}
Wenn ich getAirportById(@PathVariable @Valid @UUID final String id) vom Controller wie localhost:8080/api/v1/airports/6781972fa25a3e577395c444 aufrufe, wird das unten gezeigte Problem angezeigt
Code: Select all
{
"time": "2025-01-11T00:55:27.5670908",
"httpStatus": "BAD_REQUEST",
"header": "VALIDATION ERROR",
"message": "Constraint violation",
"isSuccess": false,
"subErrors": [
{
"message": "must be a valid UUID",
"field": "id",
"value": "6781972fa25a3e577395c444",
"type": "String"
}
]
}
Hier ist der in der Sammlung gespeicherte Wert
Code: Select all
_id : ObjectId(6781972fa25a3e577395c444)
AIRPORT_NAME : String
CITY_NAME : String
_class : Entity clas
Wie kann ich das Problem beheben?
Ich habe ein Beispiel für Spring Boot mit MongoDb erstellt. Ich habe ein Problem damit, eine Entität anhand der ID mit Validierung abzurufen, während sie „auslöst“[code]must be a valid UUID[/code]".
Hier ist die unten gezeigte Entität
[code]@Getter
@Setter
@SuperBuilder
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "airport-collection")
public class AirportEntity extends BaseEntity {
@Id
@Indexed(unique = true)
@Field(name = "_id")
private String id = UUID.randomUUID().toString();
@Field(name = "AIRPORT_NAME")
private String name;
@Field(name = "CITY_NAME")
private String cityName;
}
[/code]
Wenn ich getAirportById(@PathVariable @Valid @UUID final String id) vom Controller wie localhost:8080/api/v1/airports/6781972fa25a3e577395c444 aufrufe, wird das unten gezeigte Problem angezeigt
[code]{
"time": "2025-01-11T00:55:27.5670908",
"httpStatus": "BAD_REQUEST",
"header": "VALIDATION ERROR",
"message": "Constraint violation",
"isSuccess": false,
"subErrors": [
{
"message": "must be a valid UUID",
"field": "id",
"value": "6781972fa25a3e577395c444",
"type": "String"
}
]
}
[/code]
Hier ist der in der Sammlung gespeicherte Wert
[code]_id : ObjectId(6781972fa25a3e577395c444)
AIRPORT_NAME : String
CITY_NAME : String
_class : Entity clas
[/code]
Wie kann ich das Problem beheben?