Spring mvc throw org.springframework.web.HttpMediaTypeNotAcceptableException:找不到可接受的表示

use*_*708 8 java spring spring-mvc

我正在使用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'
Run Code Online (Sandbox Code Playgroud)

以下是抛出异常的控制器方法.我需要做些什么来使这项工作?

@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;
}
Run Code Online (Sandbox Code Playgroud)

我在Spring MVC后发现- HttpMediaTypeNotAcceptableException,其中讨论了类似的问题,但我不知道如何用注释来解决这个问题.

任何的想法?

use*_*708 6

由于控制器的返回值而抛出异常.一旦我改变了返回值,异常就消失了.

public @ResponseBody String updateJob(@RequestParam(value="job_id") String job_id){
Run Code Online (Sandbox Code Playgroud)

我还将响应更改为null.

@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;
}
Run Code Online (Sandbox Code Playgroud)

  • 不过它很小.从来没有这是一个有价值的问题,有价值的答案.我在某个地方说得对,我忘记了.这有助于我快速找到我的错误.所以不要忽视这个问题.谢谢!! (3认同)
  • @ user1647708:那么如果我的返回类型是List <String>怎么办?我该怎么回事? (3认同)