【问题标题】:Spring MVC Request method 'GET' not supported不支持 Spring MVC 请求方法“GET”
【发布时间】:2018-05-26 03:41:51
【问题描述】:

我发现关于这个主题的问题很少,但是没有必要回答我的问题

基本上 我通过url 传递了一些值,因此可以从数据库中收集数据。我可以通过method= RequestMethod.GET 进行操作,但我想通过POST 进行操作,这样用户就不会在 URL 中看到参数。

我不确定我是否使用了最好的方法,我敢打赌为了实现这一目标有很多进步。

Cotroller class
    @RequestMapping(value="/empresa", method= RequestMethod.POST)
    public String empresa(Model model, Principal principal,    @RequestParam("get_Business_ID") String get_Business_ID){

    // get selected business
    List<Business> selectedBusiness = businessService.getBusinessByBusinessID(get_Business_ID);
    System.out.println("business selected= "+ selectedBusiness.get(0).getBusiness_name());      
    model.addAttribute("selectedBusiness",selectedBusiness);

    //Destaque semanal
    List<Business> businessList = businessService.getCurrentBusiness();
    model.addAttribute("businessList", businessList);

    return "empresa";
}

   JSP page link 
 href="${pageContext.request.contextPath}/empresa?get_Business_ID=${business.business_id}"

错误类型状态报告

不支持消息请求方法“GET”

描述 在请求行中收到的方法是已知的 源服务器,但目标资源不支持。

也许 RequestMethod.GET 仅在我使用带有 post 方法的表单时才有效?

还有其他方法可以实现吗?

提前致谢

【问题讨论】:

    标签: java spring-mvc servlets post get


    【解决方案1】:

    你已经用POST注释了你的方法

    @RequestMapping(value="/empresa", method= RequestMethod.POST)
    

    所以改成

    @RequestMapping(value="/empresa", method= RequestMethod.GET)
    

    如果您希望它是 POST 请求,请尝试 form submit 而不是 href

    你还需要href吗?然后试试这个

    Make a link use POST instead of GET

    【讨论】:

    • 我知道这会起作用,但是我的 get 请求会出现在 URL 中,出于安全考虑,我想使用 post
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多