精华内容
下载资源
问答
  • 400异常
    千次阅读
    2020-10-29 19:46:26

    java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    **
    原因:
    SpringBoot 2.0.0 以上都采用内置tomcat8.0以上版本,而tomcat8.0以上版本遵从RFC规范添加了对Url的特殊字符的限制,url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~四个特殊字符以及保留字符( ! * ’ ( ) ; : @ & = + $ , / ? # [ ] ) (262+10+4+18=84)这84个字符,请求中出现了{}大括号或者[],所以tomcat报错。设置RelaxedQueryChars允许此字符(建议),设置requestTargetAllows选项(Tomcat 8.5中不推荐)。 根据Tomcat文档,下面提供一种方法来设置松弛的QueryChars属性***

    在启动类中添加

        @Bean
        public ConfigurableServletWebServerFactory webServerFactory() {
            TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
            factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
                @Override
                public void customize(Connector connector) {
                    connector.setProperty("relaxedQueryChars", "|{}[]");
                }
            });
            return factory;
        }
    
    

     

    更多相关内容
  • 400异常

    2022-02-11 15:26:40
    400:在 ajax 请求后台数据时比较常见。产生 HTTP 400 错误的原因有: 1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装; 2、前端提交的到后台的数据应该是 json 字符串类型,而前端...

    在 ajax 请求后台数据时比较常见。产生 HTTP 400 错误的原因有:

        1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;
        2、前端提交的到后台的数据应该是 json 字符串类型,而前端没有将对象转化为字符串类型;
        解决方案:
       1、对照字段名称,类型保证一致性
        2、使用 stringify 将前端传递的对象转化为字符串(可以在controller层加@pathVariable注解):

    展开全文
  • 在使用spring mvc的过程中,使用到了日期类 Date 但是在传递数据的时候出现了 状态码为 400 的错误,说明传的数据类型不匹配。 下面是异常错误说明: Field error in object 'employee' on field 'date': rejected...

    在使用spring mvc的过程中,使用到了日期类 Date 但是在传递数据的时候出现了 状态码为 400 的错误,说明传的数据类型不匹配。

    下面是异常错误说明:

    Field error in object 'employee' on field 'date': rejected value [2018-10-22]; codes [typeMismatch.employee.date,typeMismatch.date,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [employee.date,date]; arguments []; default message [date]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2018-10-22'; nested exception is java.lang.IllegalArgumentException]]

    分析,在spring mvc 自动转换的过程中,不能将 string 转换成 date .

     

    解决办法:

    在实体类的日期字段的get和set方法上加注解。

    在使用注解之前需要导入jar包:

        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-annotations</artifactId>
          <version>2.9.0</version>
        </dependency>

    解决方案: 

        private Date date;
    
        /**
         * 1.	接收日期格式使用@DateTimeFormat(yyyy-MM-dd),特别注意千万不要把后台传参与前台接收参数搞混淆:
         * 2.	后台->前台:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ssS",timezone="GMT+8")
         * 3.	前台->后台:@DateTimeFormat(pattern="yyyy-MM-dd")
         */
    
        // 后台到前台
        @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone = "GMT+8")
        public Date getDate() {
            return date;
        }
    
        // 前台到后台   接收参数
        @DateTimeFormat(pattern = "yyyy-MM-dd")
        public void setDate(Date date) {
            this.date = date;
        }

     

     

    展开全文
  • 关于浏览器 显示400异常的处理办法

    万次阅读 2016-03-07 20:16:22
    浏览器出现了这个异常情况。首先需要认识到这是由于,前端网页设置参数较于后台数据类型差异所造成的  可能有以下几点原因:  1) 输入类型 不匹配  2) name于后台数据类型 如user类的对象不匹配。  3) ...



             浏览器出现了这个异常情况。首先需要认识到这是由于,前端网页设置参数较于后台数据类型差异所造成的

             可能有以下几点原因:

             1) 输入类型<input name=""  value=""> 不匹配  

             2) name于后台数据类型  如user类的对象不匹配。

             3) 由于使用freemarker 后台数据对于时间类型的转换是事先转换好的。   value="createTimeContent"  并且格式为“yyyy-MM-dd” 没有修改这个数据,post 后,格式于timestamp 不匹配导致的。

             4) 大部分情况是name属性 与后台的数据类型不同,(写错个字母之类的)原因。像我这种,是两者都犯了。。因为添加了时间格式输出,也没有修改。所以 value 的格式也没有和后台的数据类型相同导致出现   400错误。。。。

             5) 具体的错误原因:   修改页面,有个数字值 是从后台传过来的。。传过来 3000显示 3,000  最后错误。原因是3,000格式错了。。。   加一个?c就可以了比如

                ${user.number?c}  

            6)情况c:上传图片,然后后台发送给服务器,转换为url,存储数据库。

                 流程是需要先上传图片,解析为url。我错误的将实体类的名字,和上传图片的name属性值,给设置成一样的了。即浏览器端的图片文件name = "imageUrl"   实体类imageUrl 也有这么个字段。就发送400异常。因为name属性相同,所以将jpg文件,传给一个String字符串。。这就是错误原因。

                以上方法可解决400错误! 

    展开全文
  • ajax代码 ``` function delUserInfo() { jQuery.ajax({ type : 'POST', contentType : 'application/json', url : 'user/delUser', data : {'id':'12'}, dataType : 'json', success : function...
  • 既然你getInputStream()出错了,返回的状态码不对,你就应该去从根本解决问题啊,换了个getErrorStream()去获取数据,要么获取到的是空的,要么就是对应的状态码数据,比如400,那就是bad request,404,那就是not fo
  • springmvc有时会在页面中...也就是说,springmvc不能将你从前台传过来的数据封装到实体类中,就报了这个异常,比如说,你实体类有个Date类型数据,前台输入一个日期字符串,就会出现400,因为springmvc不能将String数
  • 开发者模式下显示请求400异常。 前后台代码如下 ----------------------------------------------- ------------------------------------------ 最终原因是在测试ajax时注释掉了传递的参数,(为了测试URL...
  • 具体情况是这样的参数...400错误,参数的问题,但是请求中的参数和预想的参数是一致的,后来发现日志都是info没有error,项目的log和catalina的log文件都没有什么明显的提示。笨办法,复制问题url到本地正常运行的...
  • 用Java访问第三方接口时报400,打断点查看时在getInputStream()方法执行时抛出了异常 解决:判断响应码getResponseCode()不是200,201,202的话,使用getErrorStream()而不是直接getInputStream() /** * 获取url网址...
  • 请求头过大 400-Bad Request异常
  • 判断getResponseCode,当返回不是HttpURLConnection.HTTP_OK, HttpURLConnection.HTTP_CREATED, HttpURLConnection.HTTP_ACCEPTED 时,不能用getInputStream(),而是应该用getErrorStream()。...
  • jquery ajax 请求415 400 异常处理

    千次阅读 2017-12-08 10:14:39
    2、加上之后报400错,首先确定后端需要的数据格式、数据字段等等与你发送的数据格式、数据字段等是否相同, 如果发送的是json格式的,在判定上述都没有问题时,将发送的数据使用 loginPostData = JSON....
  • 然后第三方接口,在参数错误的时候,也是按400返回,尤其是json里面的数据key对应的value的合法性。而我们出错的时候想把第三参数的错误信息返回,这样就能很明确知道哪错了,而不是认为是超时,下面进入正题: 1...
  • 封装的post方法 export const postRequestApi = (url, ...采用params传参开发环境后端可接收到参数,但在生产环境报错400,怀疑是webpack代理出现问题; 临时解决方案: 开发环境params,生产环境data
  • 今天在进行Fabric区块链上进行交易提交时出现一个异常信息: org.hyperledger.fabric.sdk.exception.TransactionException: Bad newest block expected status 200 got 400, Channel xxxxxx at org.hyperledger....
  • 出发点是为了在系统抛出异常的时候,前端仍然可以获取到统一的报文格式,所以后端所有的异常都得捕获,并处理 Spring boot 在处理异常的时候,500/404默认都会转发到/error,而这个异常的处理类是 ErrorController...
  • Maven deploy第三方包报400异常

    千次阅读 2016-01-20 12:28:44
    maven添加三方包包400异常,Error deploying artifact: Failed to transfer file: ...原因是重复添加jar包
  • 通常通过restTemplate请求别人系统的接口时,如果返回是500,或者400等Http状态码,对程序来说是检测到了异常,只会提示500 null ,但是并不清楚接口返回的错误内容,要想打印出返回的错误内容,参考如下 ...
  • 后端接口在处理请求时,如果发生错误,采用 throw Error() 的方式处理,这样前端请求的结果为: 对应的响应数据: 这时如果我们在代码中直接采用 try catch 来捕获并输出错误信息时,会发现是以下结果: ...
  • 拥抱变化-----http post请求出现400异常

    千次阅读 2014-05-05 16:40:04
    异常老是报,调试了半天就不晓得具体原因,心惶惶若丧家之猫,可怜无比…… 上网找了一批,恶心的粘贴复制人云亦云,无奈,撸一管后再战,终于找到了破问题, 在设置头信息时: /** * 设置头信息 *...
  • 当我点击""查询""按钮后,页面报错:400,但是Eclipse的控制台没有报异常!!!! 参考 (1)HTTP 400 错误 - 请求无效 (Bad request) (2)400(HTTP状态码)_百度百科 扩展:404页面 原因,主要跟Spring ...
  • 1.复制粘贴即用,返回对应的HTTP状态码。 2.可自行扩展拦截其他异常。 3.日志打印用的是lombok。 4.R类为返回类。 5.获取异常文件名,获取异常行数
  • http请求报400错误

    千次阅读 2021-05-23 16:37:23
    前端请求时,接口报400错误,逻辑没有进后端的断点,甚至连接口都没进,swagger自测可行,那么问题势必出在前端传参上,前端封装的入参肯定和后端定义的入参实体有类型不对应的字段,果然,后端定义的是integer类型...
  • resttemplate 设置400不抛异常 问题描述 最近在对接 gitlab相关的api的时候发现一个问题 gitlab 返回的错误信息伴随的错误码一般是 400 500 之类项目中 我用的http请求工具是 resttemplate 该工具在遇到400 500 之类...
  • maven deploy 已存在的包的时候出现400错误 Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project PRIME_SMM_APIService: Failed to deploy ...
  • 接口400错误解析

    千次阅读 2021-03-06 17:09:25
    今天我遇上一个让我很痛心的错误400。对程序员来说,这可能是一个最简单的错误码。因为这个相应并没有进拦截器,更没有进到Controller层。可我在解决这个问题时,质询了很多朋友不解,百度各种方案无效。苦苦耗费我...
  • 当后台程序中抛出异常时,springboot默认将错误交由/error地址处理,处理方式可到org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController中查看。 通过现象可以发现springboot的处理方式很...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 100,176
精华内容 40,070
关键字:

400异常