为什么controller接受不到请求?

@RestController
@RequestMapping("/article")
public class ArticleController {

    @RequestMapping(value="/createArticle",method=RequestMethod.POST)
    public returnMsg createArticle(int articleid, String text){
        String loginfo = articleid + " "+ text.trim();
        try {
            log4j.fatal(loginfo);
            return new returnMsg(200,"success",new Object());
        }catch(Exception e){
            return new returnMsg(500,e.getMessage(),new Object());
        }
    }

}
@SpringBootApplication
public class ApplicationMain {
    public static void main(String [] args){
        SpringApplication.run(ApplicationMain.class,args);
    }
}

请求是:
localhost:8888/article/createArticle?articleid=1&text=我是一篇文章

为什么收不到请求?

阅读 1.9k
5 个回答

你为这个接口指定的http请求方法是POST,从浏览器直接访问时默认的请求方法是GET,所以这个请求不能分发到对应的接口。可以使用@GetMapping或修改method=RequestMethod.GET
如果想保持方法为POST,你可以使用httpclient工具如Postman、ApiFox等等发送http请求,发送时可以指定方法为POST。

method=RequestMethod.POST
必须是post请求才能接收,可以改为method=RequestMethod.GET

离谱的问题哈哈哈

,method=RequestMethod.POST可以吧这个去掉

代码里请求方法是POST,你浏览器请求貌似是GET,建议把@RequestMapping换成@GetMapping,类似的还有@PostMapping。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题