【问题标题】:405 not found error in delete mapping method of springbootspring boot的delete mapping方法出现405 not found错误
【发布时间】:2021-07-31 17:14:01
【问题描述】:

问题控制器

    import com.jay.login.entitie.Mcq_Question;
    import com.jay.login.service.QuestionService;

    @RestController

    public class QuestionController {

        @Autowired

        QuestionService qs;

        private static final Logger l=  LoggerFactory.getLogger(QuestionController.class);

        @PostMapping("/Questions")
       
         Mcq_Question addQuestion(@RequestBody Mcq_Question q)
        { System.out.println(q);
          return    qs.addQuestion(q);
        
         }
    @PutMapping("/Questions")

    Mcq_Question updateQuestion(@RequestBody Mcq_Question q)
    {
        return qs.updateQuestion(q);
    }

    @GetMapping("/Questions/{question_id}")

    Mcq_Question getQuestion(@RequestParam(name="question_id") String id)
    {
        return qs.getQuestion(Integer.parseInt(id));
    }

    @GetMapping("/Questions")

    List<Mcq_Question> getQuestions()
    {
        
        return qs.getQuestions();
    }

    @RequestMapping(name="/Questions/{question_id}",method = RequestMethod.DELETE) 

    ResponseEntity<HttpStatus>  deleteQuestion(@RequestParam(name = "question_id",required =false) String id)
    {
        try {
            l.info(""+id);
    qs.deleteQuestion(Integer.parseInt(id));    
    l.debug(""+id);

        return new ResponseEntity<>(HttpStatus.OK);
        }catch (Exception e) {
            l.debug("jay  ijfiji"+e);

        return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
            }   
          }
    }

错误如下:

{
    "timestamp": "2021-05-10T05:43:25.351+00:00",
    "status": 405,
    "error": "Method Not Allowed",
    "trace": "org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'DELETE' not supported\r\n\tat org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:251)\r\n\tat org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.lookupHandlerMethod(AbstractHandlerMethodMapping.java:435)\r\n\tat org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:376)\r\n\tat org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:123)\r\n\tat org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.getHandlerInternal(RequestMappingInfoHandlerMapping.java:66)\r\n\tat org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:498)\r\n\tat org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1254)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1036)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962)\r\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\r\n\tat org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:931)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:658)\r\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\r\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:733)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\r\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\r\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\r\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\r\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\r\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\r\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\r\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)\r\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\r\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)\r\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)\r\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\r\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\r\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)\r\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)\r\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\r\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)\r\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)\r\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\r\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)\r\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)\r\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\r\n\tat java.base/java.lang.Thread.run(Thread.java:832)\r\n",
    "message": "Request method 'DELETE' not supported",
    "path": "/Questions"
}

在客户端我使用邮递员来打 api

方法 删除映射

http://localhost:8080/Questions?question_id=78

【问题讨论】:

  • 它告诉你“org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'DELETE' not supported\r\n\tat 请改用@DeleteMapping
  • 感谢您的回复,但我已使用删除映射代码
  • 我试过@DeleteMapping,但它仍然给出同样的错误

标签: java spring-boot postman microservices


【解决方案1】:

感谢大家的帮助,我发现问题出在我的数据库上,我尝试手动删除数据,但表中有一些限制不允许删除数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-24
    • 2020-10-28
    • 2022-11-10
    • 2019-01-28
    • 1970-01-01
    • 2017-09-03
    • 2018-07-15
    • 2018-06-24
    相关资源
    最近更新 更多