我使用post写的一个保存接口,如下:
@PostMapping(value = "save")
@ResponseBody
public String save(@PathParam(value = "id") String id) {
EsArticleEntity esArticleEntity = new EsArticleEntity();
esArticleEntity.setArticle_browse_count(12);
esArticleEntity.setArticle_click_count(14);
esArticleEntity.setArticle_content("fhasjkdfnhsajkfhnsjdkfnsdjk");
esArticleEntity.setArticle_id("fhakjfbjasd");
esArticleEntity.setUser_id(23);
esArticleEntity.setArticle_date("20190-12");
esArticleEntity.setArticle_img("//fsfsd");
esArticleEntity.setArticle_label("java");
esArticleEntity.setArticle_title("fhasfjkhsajfsjdfshajh");
elasticSeartchServeiceIml.esSave(esArticleEntity);
return "OK";
}
使用postman测试出现404错误 ,如下
当我把请求的方式改为get的时候,控制台出现一下内容:
y有没有人曾经碰到过类似的情况呢?可以给一点建设性的问题吗?
@PostMapping(value = "save")
public String save(@ResponseBody 实体类 实体类名) {
EsArticleEntity esArticleEntity = new EsArticleEntity();
esArticleEntity.setArticle_browse_count(12);
esArticleEntity.setArticle_click_count(14);
esArticleEntity.setArticle_content("fhasjkdfnhsajkfhnsjdkfnsdjk");
esArticleEntity.setArticle_id("fhakjfbjasd");
esArticleEntity.setUser_id(23);
esArticleEntity.setArticle_date("20190-12");
esArticleEntity.setArticle_img("//fsfsd");
esArticleEntity.setArticle_label("java");
esArticleEntity.setArticle_title("fhasfjkhsajfsjdfshajh");
elasticSeartchServeiceIml.esSave(esArticleEntity);
return "OK";
}
试一下
@PostMapping注解对应的收参注解应该是:@RequestParam和@RequestBody
你用的收参注解@PathParam不对,换换注解
404就是路径错误,根本没进来接口。从你的这个方法路径是 save,不是 /save。 比如你的前缀路径是/api
那你的访问路径就是localhost:port/apisave
PostMapping只能使用post请求,所以你使用get请求报错了。
你这个我猜测是你的路径不全,所以访问失败,你检查一下
save和/save我都试过了,都不行,我这个404是有一个页面的,如果访问路径错误的话也应该是返回这个404页面吧,现在这个感觉就是没有访问到服务一样
您好,浏览器默认是get请求,你接口是post请求有可能访问不到,但是可以通过测试工具来请求,比如“postman”。也可以参考https://blog.csdn.net/Im1997/article/details/112991648
我是使用postman的
@PathParam 取参数的时候好像是这样的链接 localhost/save/{Param1}/{Param2};
post请求取参数试试这个 @RequestParam
另外路径一定要写对。
嗯,我采用了@RequestParam,尝试了一下,结果也是404,我的路径直接从route复制的,应该不会有错
搞个swagger呗,清晰明了