我尝试使用REST进行一些小操作 Get操作和Post操作工作正常,只有PUT操作才能给我带来问题。
我正在与2个调度员合作(一个映射到" / rest / "一个映射到" / web / "以及我知道我的配置文件是正确的(否则其余的也不会工作?)。
要测试我使用名为Postman btw的Chrome插件。
目前我只使用一个休息控制器:
@Controller
public class RestController {
@Autowired
BlogPostServiceImp blogPostService;
@RequestMapping(value= "/getPosts", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public Collection<Post> getposts()
{
return blogPostService.getPosts();
}
@RequestMapping(value = "/post/{uername}/{description}/{speciality}/{url}", method = RequestMethod.PUT)
public void addPost(@PathVariable("username") String username,
@PathVariable("description") String description,
@PathVariable("speciality") String speciality,
@PathVariable("url") String url)
{
Post p = new Post(blogPostService.getId(), "2014", username, description, speciality, url);
blogPostService.addPost(p);
}
}
正如我之前所说,GET请求有效,但PUT返回404。
编辑:来自glassfish的日志文件确认了这一点:
[2014-10-30T14:28:21.180 + 0100] [glassfish 4.1] [警告] [] [org.springframework.web.servlet.PageNotFound] [tid:_ThreadID = 30 _ThreadName = http-listener-1( 1)] [timeMillis:1414675701180] [levelValue:900] [[ 在DispatcherServlet中找不到带有URI [/ MvcSpringBlogREST / rest / post]的HTTP请求的映射,其名称为&#39; dispatcher2&#39;]]
答案 0 :(得分:0)
尝试使用名为Advanced Rest Client的chrome插件(app) 铬 - 延伸://hgmloofddffdnphfgcellkdfbfbjeloo/RestClient.html
选择您将执行Put而不是Get / Post