HTTP put方法导致404

时间:2014-10-30 13:44:30

标签: spring rest

我尝试使用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;]]

1 个答案:

答案 0 :(得分:0)

尝试使用名为Advanced Rest Client的chrome插件(app) 铬 - 延伸://hgmloofddffdnphfgcellkdfbfbjeloo/RestClient.html

选择您将执行Put而不是Get / Post