Я работаю над проектом MVC с использованием инфраструктуры Java и Play, и у меня возникла проблема. Вот интересная часть кода (я очистил его немного):Получение ошибки 500, но возвращен ok()
Контроллер:
public Result acceptInputSimulationPension() {
if (request().getHeader(CONTENT_TYPE) == null) {
return badRequest("error: no content type");
}
if (!request().getHeader(CONTENT_TYPE).contains("multipart/form-data")) {
return badRequest("Error: wrong content type. Expected multipart/form-data, got " + CONTENT_TYPE);
}
Form<String> form = Form.form(String.class).bindFromRequest();
Pension project = new Pension();
project.setMaxloss(form.field("maxloss").value());
// setting some other parameters...
project.setIdUser(Application.user.getId());
if (project.getMaxloss() == 0) {
return badRequest("error: maxloss datalist malformed");
}
double[] flows = Application.getPensionFlows(project, (int) project.computeContributionYears(), (int) project.computeAdditionalIncomeNeeded());
Savings savings = new Savings((int) project.getInitialContribution(), flows, (int) project.computeContributionYears() * 12);
Ebean.save(project);
session("init/pension/maxloss"+project.getId(), form.field("maxloss").value());
// setting some other session variables...
ObjectNode result = Application.jsonEncoder.encodeFinalSimulPension(project, savings.getSavings(), flows, false, true);
result.put("id", project.getId());
System.out.println("hello?");
return ok("test");
}
Я возвращаю ОК («тест»), чтобы убедиться, что проблема не исходит от переменная результата.
И AJAX:
function ajaxPOST_simulation(data, id, formName) {
$.ajax({
type: 'POST',
url: "/input/simulation/"+formName,
processData: false,
contentType: false,
data: data,
success: function (resp) {
alert("ok");
},
error: function (resp) {
alert("error: " + resp.responseText);
}
});
}
System.out.println («привет») успешно отображается на моем терминале, так что я предполагаю, что я возвращаюсь в порядке («тест»), но я получаю это error as a alert:
error:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Execution exception</title>
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSU... etc.
Как это возможно? Спасибо заранее!
EDIT: Я только что понял, что код HTML соответствует NullPointerException, но я до сих пор не знаю, что здесь может быть NULL. Даже переменная результат не NULL и выглядит нормально ...