@ApiOperation(value = "", nickname = "validateMzTabFile", notes = "Validates an mzTab file in XML or JSON representation and reports syntactic, structural, and semantic errors. ", response = ValidationMessage.class, responseContainer = "List", tags={ "validate", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Validation Okay", response = ValidationMessage.class, responseContainer = "List"),
@ApiResponse(code = 405, message = "Invalid input", response = ValidationMessage.class, responseContainer = "List"),
@ApiResponse(code = 415, message = "Unsupported content type"),
@ApiResponse(code = 200, message = "Unexpected error", response = Error.class) })
@RequestMapping(value = "/validate",
produces = { "application/json" },
consumes = { "application/json", "application/xml" },
method = RequestMethod.POST)
default ResponseEntity> validateMzTabFile(@ApiParam(value = "mzTab file that should be validated." ,required=true ) @Valid @RequestBody MzTab mztabfile) {
if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) {
if (getAcceptHeader().get().contains("application/json")) {
try {
return new ResponseEntity<>(getObjectMapper().get().readValue("[ { \"code\" : \"code\", \"line_number\" : 0, \"message_type\" : \"information\", \"message\" : \"message\"}, { \"code\" : \"code\", \"line_number\" : 0, \"message_type\" : \"information\", \"message\" : \"message\"} ]", List.class), HttpStatus.NOT_IMPLEMENTED);
} catch (IOException e) {
log.error("Couldn't serialize response for content type application/json", e);
return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
}
}
} else {
log.warn("ObjectMapper or HttpServletRequest not configured in default ValidateApi interface so no example is generated");
}
return new ResponseEntity<>(HttpStatus.NOT_IMPLEMENTED);
}