实训问题总结——ajax用get可以成功调用controller方法,用POST就出404错误

发布于:2024-04-07 ⋅ 阅读:(1443) ⋅ 点赞:(0)

因为传输密码时必须用POST。

还有用GET传输参数,说有非法字符,想试试POST是否可以解决。

404错误的三个大致原因,1:找不到对的请求路径,2:请求方式错误,3、请求参数错误。

后来可以调用了。但是又收不到参数:

解决SpringMVC接收不到ajaxPOST参数的问题

解决SpringMVC接收不到ajaxPOST参数的问题_java_脚本之家

解决

原因是js代码里的contentType: "application/json;charset=utf-8",删掉或者改成默认的"contentType: application/x-www-form-urlencoded"就行了。

到处是坑。

因为get可以,可以排除路径原因。

解决springboot项目请求出现非法字符问题 java.lang.IllegalArgumentException:Invalid character found in the request t_javaexception: java.lang.illegalargumentexception:-CSDN博客

解决办法:

在springboot工程中增加一个tomcat 配置,代码如下:

/**
 * @author: zw
 * @create: 2019-06-27 11:19
 **/
@Configuration
public class TomcatConfig {
    @Bean
    public TomcatServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.addConnectorCustomizers((Connector connector) -> {
                connector.setProperty("relaxedPathChars", "\"<>[\\]^`{|}");
                connector.setProperty("relaxedQueryChars", "\"<>[\\]^`{|}");
        });
        return factory;
    }
}

现在两种方式都能传参数了,但是字符串可以,转换不成Java对象。

SpringBoot-JSON请求转对象

https://blog.csdn.net/xiekuntarena/article/details/81588308

1.请求参数格式必须是正确的JSON。

2.在入参中使用注解@RequestBody,用于接收JSON参数,使其自动转对象

3.关于lombok在此产生的一点小坑,@Builder对@RequestBody的影响

4.标识请求参数的格式为JSON---》》@PostMapping(value="/Test",produces = "application/json;charset=UTF-8")

————————————————

版权声明:本文为CSDN博主「月明星稀灬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:SpringBoot-JSON请求转对象_springboot json转对象-CSDN博客

SpringBoot 出现 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

SpringBoot 出现 Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported-CSDN博客

Invalid mime type "json": does not contain '/']


网站公告

今日签到

点亮在社区的每一天
去签到