spring rest项目提示Request method 'PUT' not supported Method Not Allowed 405 错误

{
  "timestamp": "2019-04-28 17:43:07",
  "status": 405,
  "error": "Method Not Allowed",
  "message": "Request method ‘PUT‘ not supported",
  "path": "/customer"
}

今天项目发布后,发现系统所有的  PUT请求不能用了, 提示如上,

本地测试正常,发布之后就不行了,瞬间很懵逼了

网上搜了一箩筐信息,发现好像都不对....

仔细看了一下代码,发现了问题

新版本增加了角色验证,角色不符合,跳转到403错误页

我的shiro配置:

       shiroFilterFactoryBean.setFilters(map);
        shiroFilterFactoryBean.setLoginUrl("/login");
        shiroFilterFactoryBean.setSuccessUrl("/index");
        shiroFilterFactoryBean.setUnauthorizedUrl("/home/error/403");
        LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
           filterChainDefinitionMap.put("/customer/login/**","anon");
        filterChainDefinitionMap.put("/upload/**","anon");
        filterChainDefinitionMap.put("/logback/**","anon");

  我的错误页这是这样的:

    @ApiOperation(value = "角色无权限", notes = "这是一个错误处理接口,不需要调试")
    @ApiIgnore
    @RequestMapping(value = "/error/403",method = RequestMethod.GET)
    public Result error403() {
        response.setStatus(403);
        return new Result("角色无权限", false);
    }

啊........... 原来是这样

发布后的登陆角色没有权限,所以跳转到403页面  403页面只支持GET 所以报错..呵呵

解决方法:  将403的页面  method去掉 不限制请求方式.如下

    @ApiOperation(value = "角色无权限", notes = "这是一个错误处理接口,不需要调试")
    @ApiIgnore
    @RequestMapping(value = "/error/403")
    public Result error403() {
        response.setStatus(403);
        return new Result("角色无权限", false);
    }

  

顺便说一下405错误码  :

405 errors often arise with the POST method. You may be trying to introduce some kind of input form on the Web site, but not all ISPs allow the POST method necessary to process the form.

All 405 errors can be traced to configuration of the Web server and security governing access to the content of the Web site, so should easily be explained by your ISP.

摘自

https://www.checkupdown.com/status/E405.html

 

spring rest项目提示Request method 'PUT' not supported Method Not Allowed 405 错误

原文地址:https://www.cnblogs.com/niceletter/p/10785561.html

时间: 2024-10-09 21:43:00

spring rest项目提示Request method 'PUT' not supported Method Not Allowed 405 错误的相关文章

delete method not allowed 405错误

造成该问题的原因:iis版本问题 解决办法如下: 修改配置文件web.config <system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers></system.webServer>

oauth2(spring security)报错method_not_allowed(Request method &#39;GET&#39; not supported)解决方法

报错信息 <MethodNotAllowed> <error>method_not_allowed</error> <error_description>Request method 'GET' not supported</error_description> </MethodNotAllowed> 39是单引号 原因 默认只支持post 解决方法 下载安装postman工具(或其他post工具) 使用post调用 代码增加get的

maven Spring MVC项目

IntelliJ IDEA上创建maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.xml 配置web.xml 配置contextConfigLocation文件 配置log4j.properties controller和view的编写 servlet容器的配置和运行 配置本地的tomcat服务器 配置maven插件 运行第一个Spring MVC应用 目前java开发主流的IDE

Eclipse使用Maven创建Spring MVC项目(包含实例)以及部署到tomcat服务器

1.安装Maven并配置环境变量 2.eclipse中配置Maven 3.eclipse创建Maven项目 选择项目路径,next 选择maven项目类别[maven-archetype-webapp],next 输入Group Id(顶级包名),Artifact Id(项目名),Package根据两者自动生成,finish 生成的项目如上图所示. 报错原因是缺失Server Runtime Library,添加即可,同时jre替换为System Library. 替换后项目目录如下: src文

用Eclipse 搭建一个Maven Spring SpringMVC 项目

1: 先创建一个maven web  项目: 可以参照之前的文章:  用Maven 创建一个 简单的 JavaWeb 项目 创建好之后的目录是这样的; 2: 先配置maven  修改pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt

在Spring Boot项目中使用Spock测试框架

摘自:https://www.cnblogs.com/javaadu/p/11748473.html 本文首发于个人网站:在Spring Boot项目中使用Spock测试框架 Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring Boot项目中使用该框架写优雅.高效以及DSL化的测试用例.Spock通过@RunWith注解与JUnit框架协同使用,另外,Spock也可以和Mockito(Spring Boot应用的测试——Mockito

笔记:Spring Boot 项目构建与解析

构建 Maven 项目 通过官方的 Spring Initializr 工具来产生基础项目,访问 http://start.spring.io/ ,如下图所示,该页面提供了以Maven构建Spring Boot 项目的功能. 选择构建工具 Maven Project,Spring Boot 版本选择 1.5.4,填写 Group 和 Artifact 信息,在Search for dependencies 中可以搜索需要的其他依赖包,这里我们需要实现 RESTful API,所以可以添加 Web

IntelliJ IDEA 创建spring mvc项目(图)

本文主要介绍怎么在IntelliJ IDEA 创建spring mvc项目,导入jar文件,tomcat配置(编辑器). 一.创建spring mvc项目 1.打开IntelliJ IDEA点击 创建新项目(Create New Project),SDK选择,然后选择sping>spring mvc,下一步 2.填写项目名称与选择项目路径 二.导入jar文件 1.选中lib文件夹,右键打开资源管理器 2.把准备好的jar文件复制粘贴到lib文件夹里面 3.点击文件(file)在列表中选择proj

今天遇到 Request failed: method not allowed (405)。 错误,特此在网上翻了翻

Q1: 遇到405请求错误.提示:NSLocalizedDescription=Request failed: method not allowed (405).解决方案:405请求方法不被允许.这时候应该检查请求方法是否正确,页面应该用GET请求还是POST请求.例如在请求微博access_token的时候虽然不需要发送数据但这个页面却要求使用POST请求. Q2: 使用AFNetwork进行HTTP请求遇到如下提示信息错误:NSLocalizedDescription=Request fai