Spring mvc throwing org.springframework.web.HttpMediaTypeNotAcceptableException: не удалось найти приемлемое представление
Я использую springMVC, и я получаю следующее исключение при попытке сделать обновление.
10:10:49,847 DEBUG LogicalConnectionImpl:250 - Released JDBC connection
10:10:49,859 DEBUG FixedContentNegotiationStrategy:48 - Requested media types is text/html (based on default MediaType)
10:10:49,929 DEBUG ExceptionHandlerExceptionResolver:132 - Resolving exception from handler [public com.model.JobQueue com.controller.TestResultController.updateJob(java.lang.String,java.lang.String,java.lang.String)]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
10:10:49,937 DEBUG ResponseStatusExceptionResolver:132 - Resolving exception from handler [public com.model.JobQueue com.controller.TestResultController.updateJob(java.lang.String,java.lang.String,java.lang.String)]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
10:10:49,938 DEBUG DefaultHandlerExceptionResolver:132 - Resolving exception from handler [public com.model.JobQueue com.controller.TestResultController.updateJob(java.lang.String,java.lang.String,java.lang.String)]: org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
10:10:49,940 DEBUG DispatcherServlet:999 - Null ModelAndView returned to DispatcherServlet with name 'dispatcher': assuming HandlerAdapter completed request handling
10:10:49,940 DEBUG DispatcherServlet:966 - Successfully completed request
10:10:49,941 DEBUG DefaultListableBeanFactory:246 - Returning cached instance of singleton bean 'org.springframework.context.annotation.internalScheduledAnnotationProcessor'
Ниже приведен метод контроллера, который выдает исключение. Есть ли что-то, что мне нужно сделать, чтобы сделать эту работу?
@RequestMapping(value="/updateJob", method=RequestMethod.GET)
public @ResponseBody JobQueue updateJob(@RequestParam(value="job_id") String job_id, @RequestParam String test_id, @RequestParam(value="status") String status) {
JobQueue job = jobqueueService.getJob(Integer.parseInt(job_id));
job.setTest_id(test_id);
job.setStatus(Integer.parseInt(status));
jobqueueService.updateJob(job);
return job;
}
Я обнаружил следующий пост Spring MVC - HttpMediaTypeNotAcceptableException, где обсуждалась похожая проблема, но я не уверен, как решить эту проблему с помощью аннотации.
Любая идея?
2 ответа
Исключение было вызвано из-за возвращаемого значения контроллера. Как только я изменил возвращаемое значение, исключение исчезло.
public @ResponseBody String updateJob(@RequestParam(value="job_id") String job_id){
Я также изменил ответ, чтобы быть нулевым.
@RequestMapping(value="/updateJob", method=RequestMethod.GET)
public @ResponseBody String updateJob(@RequestParam(value="job_id") String job_id){
Integer jobid = Integer.parseInt(job_id);
JobQueue job = jobqueueService.getJob(jobid);
.
.
return null;
}
Вы можете попробовать это:
@RequestMapping(value = "audit/unaudit", method = RequestMethod.GET,produces = "application/json")