#rest #web-services #jersey #client
#rest #веб-сервисы #джерси #клиент
Вопрос:
Я новичок в Джерси и в REST в целом, так что это может быть глупый вопрос….
В моем коде я отправляю запрос ( TemplateValidationRequest
), чтобы попытаться проверить объект. Если объект не проходит проверку, я хочу вернуть строку. Как мне это сделать?
Во втором фрагменте кода внизу вы можете видеть, что я ищу TemplateValidationResponse
объект. Как я могу изменить свой код, чтобы:
- Я могу вернуть строку и
- Я могу получить строку вместо
TemplateValidationResponse
объекта.
Возможно ли это?
@POST
@Path("validate/modelTemplate")
@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON})
@Operation(
summary = "Convert model template to AMBOS interaction model and validate the result",
tags = { BLUEPRINTS_TAG },
requestBody = @RequestBody(
content = @Content(
schema = @Schema(
implementation = TemplateValidationRequest.class
)
)
),
responses = {
@ApiResponse(
responseCode = "200",
description = "Success.",
content = @Content(
schema = @Schema(
implementation = TemplateValidationResponse.class
)
)
),
@ApiResponse(
responseCode = "400",
description = "Failure",
content = @Content(
schema = @Schema(
implementation = String.class
)
)
)
}
)
@CustomerIdentityRequired
@AcceptsLanguageRequired
@AAA(serviceName = SERVICE_NAME, operationName = BLUEPRINTS_GET)
ModelTemplateValidationResponse validateModelTemplate(TemplateValidationRequest);
fun validateModelTemplate(modelTemplate: InteractionModel,
sampleData: Map<String, Any>): TemplateValidationResponse {
val request = TemplateValidationRequest()
request.modelTemplate = modelTemplate
request.sampleData = sampleData
return temp.validateModelTemplate(request)//this is where I call the above code
//If this request fails and results in a 400 error, I want to get a String
}
Ответ №1:
Как насчет чего-то вроде:
public Class YourResponse {
private boolean isError;
private String setThisWhenThereIsError;
private YourObject setThisWhen200;
}