下面列出了com.fasterxml.jackson.databind.JsonMappingException#getMessage ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public Object handle(Request request, Response response) throws Exception {
try {
ObjectMapper objectMapper = new ObjectMapper();
V value = null;
if (valueClass != EmptyPayload.class) {
value = objectMapper.readValue(request.body(), valueClass);
}
Map<String, String> urlParams = request.params();
Answer answer = process(value, urlParams, shouldReturnHtml(request));
response.status(answer.getCode());
if (shouldReturnHtml(request)) {
response.type("text/html");
} else {
response.type("application/json");
}
response.body(answer.getBody());
return answer.getBody();
} catch (JsonMappingException e) {
response.status(400);
response.body(e.getMessage());
return e.getMessage();
}
}
public static Manifest readManifest (File file) throws IOException {
String errorMessage = "";
try {
return mMapper.readValue(file, Manifest.class);
} catch (JsonParseException jpe) {
errorMessage = jpe.getMessage();
} catch (JsonMappingException jme) {
errorMessage = jme.getMessage();
}
LoggerFactory.getLogger("Bootloader").error("Error while parsing manifest " + file.getName() + ": " + errorMessage);
return null;
}
public static void writeManifest (String fileName, Manifest manifest) throws IOException {
String errorMessage = "";
mMapper.enable(SerializationFeature.INDENT_OUTPUT);
try {
mMapper.writeValue(new File(fileName), manifest);
return;
} catch (JsonGenerationException jge) {
errorMessage = jge.getMessage();
} catch (JsonMappingException jme) {
errorMessage = jme.getMessage();
}
LoggerFactory.getLogger("Bootloader").error("Could not save manifest to file " + fileName + ".\n" + errorMessage);
}
@Override
public void handle(HttpContext context, ModelContext<T> modelContext) throws Exception {
try {
var objectMapper = context.elepy().objectMapper();
String body = context.request().body();
T item = objectMapper.readValue(body, modelContext.getModelType());
beforeCreate(item, context.request(), modelContext.getCrud());
super.singleCreate(context, item, modelContext.getCrud(), modelContext);
afterCreate(item, modelContext.getCrud());
context.response().status(200);
context.response().result(Message.of("Successfully created item", 200).withProperty("createdRecords", List.of(item)));
} catch (JsonMappingException e) {
throw new ElepyException("Error mapping SimpleCreate: " + e.getMessage());
}
}