精华内容
下载资源
问答
  • 代码是这样的, postman设置如下: 结果msg为空 将postman请求的时候 content-type改为 x-www-form-urlencoded 就好了

    在这里插入图片描述
    代码是这样的,
    postman设置如下:
    在这里插入图片描述

    结果msg为空

    方案一

    将postman请求的时候 content-type改为 x-www-form-urlencoded 就好了

    方案二

    当方法上注解为
    @RequestMapping("/")
    @ResponseBody 时,只能解析JSON格式请求
    可以
    在这里插入图片描述

    展开全文
  • 0 背景 拦截器被用来获取用户的请求日志,好处多多。一般来说,请求参数通过GET和POST的方式传递,GET请求参数通过request.... 但是,当在项目中使用拦截器获取到请求参数后,发现controller中@RequestBod...

     

    0 背景

             拦截器被用来获取用户的请求日志,好处多多。一般来说,请求参数通过GET和POST的方式传递,GET请求参数通过request.getParameterMap()方法获取,POST请求参数通过request.getInputStream()方法获取。

             但是,当在项目中使用拦截器获取到请求参数后,发现controller中@RequestBody注解获取不到参数了。多番查阅发现,Spring中的request.getInputStream()和request.getReader()只能被获取到一次,而@RequestBody的底层也是通过流来请求数据。于是,有必要将拦截器中的流数据保存下来,以便controller获取到数据。

     

    1 自定义 RequestWrapper子类

         继承 HttpServletRequestWrapper类,封装HttpServletRequest请求

    import javax.servlet.ReadListener;
    import javax.servlet.ServletInputStream;
    import javax.servlet.ServletRequest;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletRequestWrapper;
    import java.io.*;
    import java.nio.charset.Charset;
    
    /**
     * @author wangyan
     * @description  获取请求参数并处理
     * @date 2019/7/18 18:38
     */
    public class RequestWrapper extends HttpServletRequestWrapper {
        private final byte[] body;
        public RequestWrapper(HttpServletRequest request) throws IOException {
            super(request);
            String sessionStream = getBodyString(request);
            body = sessionStream.getBytes(Charset.forName("UTF-8"));
        }
        public String  getBodyString(){
            return new String(body,Charset.forName("UTF-8"));
        }
        /**
         * 获取请求Body
         *
         * @param request
         * @return
         */
        public String getBodyString(final ServletRequest request) {
            StringBuilder sb = new StringBuilder();
            InputStream inputStream = null;
            BufferedReader reader = null;
            try {
                inputStream = cloneInputStream(request.getInputStream());
                reader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));
                String line = "";
                while ((line = reader.readLine()) != null) {
                    sb.append(line);
                }
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            finally {
                if (inputStream != null) {
                    try {
                        inputStream.close();
                    }
                    catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if (reader != null) {
                    try {
                        reader.close();
                    }
                    catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            return sb.toString();
        }
        /**
         * Description: 复制输入流</br>
         *
         * @param inputStream
         * @return</br>
         */
        public InputStream cloneInputStream(ServletInputStream inputStream) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int len;
            try {
                while ((len = inputStream.read(buffer)) > -1) {
                    byteArrayOutputStream.write(buffer, 0, len);
                }
                byteArrayOutputStream.flush();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            InputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
            return byteArrayInputStream;
        }
        @Override
        public BufferedReader getReader() throws IOException {
            return new BufferedReader(new InputStreamReader(getInputStream()));
        }
        @Override
        public ServletInputStream getInputStream() throws IOException {
    
            final ByteArrayInputStream bais = new ByteArrayInputStream(body);
            return new ServletInputStream() {
    
                @Override
                public int read() throws IOException {
                    return bais.read();
                }
    
                @Override
                public boolean isFinished() {
                    return false;
                }
    
                @Override
                public boolean isReady() {
                    return false;
                }
    
                @Override
                public void setReadListener(ReadListener readListener) {
    
                }
            };
        }
    }
    

    2 自定义过滤器

         将自定义请求 RequestWrapper 子类传递下去

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Component;
    
    import javax.servlet.*;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.http.HttpServletRequest;
    import java.io.IOException;
    /**
     * @author wangyan
     * @description 自定义过滤器
     * @date 2019/7/19 18:26
     */
    @Component
    @WebFilter(urlPatterns = "/*",filterName = "channelFilter")
    public class ChannelFilter implements Filter {
        private Logger logger = LoggerFactory.getLogger(ChannelFilter.class);
    
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
    
        }
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            logger.info("================进入过滤器======================");
            // 防止流读取一次后就没有了, 所以需要将流继续写出去
            HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
            ServletRequest requestWrapper = new RequestWrapper(httpServletRequest);
    
            filterChain.doFilter(requestWrapper, servletResponse);
        }
        @Override
        public void destroy() {
    
        }
    }

    3 日志拦截器中的调用

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.lang.Nullable;
    import org.springframework.stereotype.Component;
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * @author wangyan
     * @description  自定义拦截器
     * @date 2019/7/12 10:13
     */
    
    @Component
    public class BaseInterceptor extends HandlerInterceptorAdapter {
        protected final Logger logger = LoggerFactory.getLogger(this.getClass());
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {
            info("***************************【RequestBeginning】***************************");
            info("----------------StartProcessingRequest----------------");
    
            try {
                Long currentTime = System.currentTimeMillis();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                Date date = new Date(currentTime);
                info("CurrentTime:{}",formatter.format(date));
                info("ResponseTime:{}",(System.currentTimeMillis() - currentTime) + "ms");
                String requestURL = request.getRequestURI();
                info("RequestURL: {} ", requestURL);
                info("GetMethod: {}", handler);
    
                //获取请求参数
                RequestWrapper requestWrapper = new RequestWrapper(request);
                info("RequestBody: {}",requestWrapper.getBodyString());//这里getBodyString()方法无参数
            } catch (Exception e) {
                error("MVC业务处理-拦截器异常:", e);
            }
            info("-------------------------End-------------------------");
            return true;
        }
    
        /**
         * This implementation is empty.
         */
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                               @Nullable ModelAndView modelAndView) throws Exception {
            logger.info("after");
    
        }
    
        /**
         * This implementation is empty.
         */
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
                                    @Nullable Exception ex) throws Exception {
            logger.info("Completion");
        }
    
        /**
         * This implementation is empty.
         */
        @Override
        public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response,
                                                   Object handler) throws Exception {
            logger.info("Concurrent");
    
        }
    
        protected final void error(String msg, Object... objects) {
            logger.error(msg, objects);
        }
        protected final void info(String msg, Object... objects) {
            logger.info(msg, objects);
        }
    }
    

     

             至此结束!!!

     

     

    展开全文
  • 可以从 HTTPServletRequest,简单类型参数,pojo 类型参数,包装类,集合类型的参数获取请求中的参数,当然,还可以通过 json 格式的字符串来获取

    可以从 HTTPServletRequest,简单类型参数,pojo 类型参数,包装类,集合类型的参数中获取请求中的参数,当然,还可以通过 json 格式的字符串来获取,这里先不做讨论。

    一、默认支持的类型

    可以从 HttpServletRequest、HttpServletResponse、HttpSession 中获取请求中的参数。

    测试类如下:

    package com.lyu.qjl.interview.controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http
    展开全文
  • 再一次前台调用后台查询多个表,获取结果的过程中,我在...多次查询总有那么1,2个线程拿不到参数,跑出空指针异常。我把代码排查到如下类似代码,可以复现问题。使用postman模拟请求http://localhost:8081/test?aaa...

    再一次前台调用后台查询多个表,获取结果的过程中,我在controller里面开启线程池跑,同事查询多个表。每个线程run方法里面使用同一个request,然后通过request.getParameter()获取入参。多次查询总有那么1,2个线程拿不到参数,跑出空指针异常。我把代码排查到如下类似代码,可以复现问题。使用postman模拟请求http://localhost:8081/test?aaa=aaa,多次发送请求,后台不定时会有空指针异常。

     

    问题原因追踪:我刚开始怀疑是tomcat的原因,也尝试看了request.getparameter()的源码,如下,paramHashValues的类型是LinkedHashMap,这个类是链表hashmap,它的get方法是线程安全的,且调试过程中paramHashValues分明有值,但是代码还是会调到else里面,很费解。

    然后我在本地另一个项目里面复现此问题,并没有复现。我认真比对了2个项目的配置文件,发现是pom里面依赖spring boot的版本引起的,spring boot 的不同版本会使用不同版本的tomcat-core,tomcat-core具体处理getParameter()。

    问题pom

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.xxx</groupId>
        <artifactId>AutoTest</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
    <!--        <version>1.3.2.RELEASE</version>-->
            <version>2.1.2.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-servlet-api</artifactId>
                <version>7.0.42</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.2</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-redis</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>27.0.1-jre</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.54</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.54</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.11</version>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>pdfbox</artifactId>
                <version>2.0.15</version>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>fontbox</artifactId>
                <version>2.0.15</version>
            </dependency>
            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk</artifactId>
                <version>1.11.547</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>RELEASE</version>
                <scope>compile</scope>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </project>

    没问题的pom

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.xxx</groupId>
        <artifactId>AutoTest</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.3.2.RELEASE</version>
           <!-- <version>2.1.2.RELEASE</version>-->
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.tomcat</groupId>
                <artifactId>tomcat-servlet-api</artifactId>
                <version>7.0.42</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>4.5.2</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-redis</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>27.0.1-jre</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.54</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.54</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.11</version>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>pdfbox</artifactId>
                <version>2.0.15</version>
            </dependency>
            <dependency>
                <groupId>org.apache.pdfbox</groupId>
                <artifactId>fontbox</artifactId>
                <version>2.0.15</version>
            </dependency>
            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk</artifactId>
                <version>1.11.547</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>RELEASE</version>
                <scope>compile</scope>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </project>

    如果你们要复现问题的话可以使用问题pom,然后写一个controller,仿照图片的写法。

    问题解决:1,更换spring boot 的版本(已验证)

    2.可以更换spring boot使用tomcat的版本(未验证)

    3.代码里面加入锁(推荐)

     

    展开全文
  • web应用,前台发送请求...1. 直接在controller方法的参数中接受请求参数@RequestMapping("/test") public String test(HttpRequest httpRequest, String name){ return null; }其中,参数name用于接受前...
  • 网上有詹大神给网友的解释,当在post请求参数中设置Content-Type为application/json或者text/json时,request.getParameter()并能取对应的参数,就会导致JFinal的Controller中getPara()方法也无...
  • Spring Controller 获取请求参数的几种方法 1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,适用于post方式提交。若"Content-Type"=“application/x-www-form-urlencoded”,可用post...
  • 获取 HTTP 请求参数 1.query: 在url中 ? 后面的部分是一个 Query String,这一部分经常用于GET类型的请求中传递参数 key重复时,只取第一次出现的值 const query = this.ctx.query; 2.queries: 同上 key重复时...
  • 1.指定前端url请求参数名称与方法名一致 这种方式简单来说就是url请求格式中的参数需要与方法的参数名称对应上,举个例子,这么一个url请求http://localhost:8080/0919/test?name=name&pass=pass,在指定的控制...
  • 因为使用了@RequestBody注解,最终使用参数处理器为RequestResponseBodyMethodProcessor,实际上会用到MappingJackson2HttpMessageConverter进行参数类型的转换,底层依赖Jackson相关的包。 controller 的...
  • 1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,适用于post方式提交。若”Content-Type”=”application/x-www-form-urlencoded”,可用post提交 url形式:...
  • 最近几天在整合项目,把一个系统要分离成两个系统,分离过程中出现了问题。 未分离之前,当系统里的所有访问都是直接调用类方法即可...网上有詹大神给网友的解释,当在post请求参数中设置Content-Type为applicatio...
  • Controller获取URL中的参数

    千次阅读 2019-09-05 17:02:41
    文章目录背景正文直接把表单的参数写在Controller相应的方法的...(推荐)用request.getQueryString() 获取spring MVC get请求参数,只适用get请求提问 背景 在使用REST接口的时候,需要传递多个参数,遵循REST的...
  • 但是,这种获取参数的形式可以获取表单形式(header),是拿不到参数为json格式的post请求参数的, 于是便又有了一下方式获取json格式的参数 这种方法可以再拦截器找那个拿到参数, 但是!!!这样在controller...
  • 参考: Springboot的POST、GET、PUT、DELETE请求实例 https://blog.csdn.net/u013005791/article/details/73348206 SpringBoot非官方教程 | 第六篇:springboot整合mybatis ... 占位符的方...
  • 有人说使用aop拦截不到springMVC的controller,一般出现此种情况大多是由于配置错误造成,不废话直接进入主题: 1、applicationContext.xml 配置扫描 除@controller外的bean 2、 applicationContext-...
  • 从REST Controller获取HTTP请求

    千次阅读 2019-05-19 08:45:00
    点击左上角,关注:“锅外的大佬”专注分享国外最新技术内容,帮助每一个技术人更优秀地成长1. 引言本教程中,将展示如何从REST Controller获取HTTP 请求头...
  • 但是这离直接开发完整的api接口却还有着很大的一段距离,好多东西都还没用到而且也懂什么意思,而一个接口请求却又包含了各种组成部分,因此现在从一个接口最开始的请求controller方面来探索内容。 本项目以hello-...
  • 主要给大家介绍了关于spring实现根据controller中接收请求参数不同走不同service的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • javaweb应用开发,最常用到的就是应用之间的信息交互,调用别的应用模块得到自己想获取的数据信息,然后解析数据并进行处理返回...那controller层的方法如何获取http请求/webservice请求中的参数,或者说请求数据呢?
  • 这个有点坑,首先request的流的获取每个请求只能获取一次,之后再通过getInputStream获取流的时候就获取不到数据了,还有getInputStream和getReader和getParameter都可以获取输入流数据,但是存在冲突,也就是三者...
  • Springmvc controller获取不到jsp中的数据

    千次阅读 2017-05-13 21:05:27
    首先是在数据列表中通过点击修改跳转对应的controller后台函数中,其中传递的是数据对应的id。 如下图:对应的接收方法如下,这里使用的无返回值类型的:@RequestMapping(value="/editItems", method=Request...
  • 在开发前后端发送Post请求时出现的问题 @RequestMapping(value = "/login.do",method = RequestMethod.POST) public String login(@RequestParam("id") int id,@RequestParam("name") String name) { } submitForm...
  • SpringBoot项目,有个需求就是要加一个拦截器和...但是出现一个问题,就是后面的controller中使用了@RequestBody注解获取参数,但是拦截器执行过后,controller获取不到参数,甚至是方法都没有进入对应的方法中就...
  • Spring MVC怎么获取request的请求参数

    千次阅读 2017-07-09 19:22:43
     使用@RequestParam绑定请求参数的值到Controller的方法入参中。 /** * 方式一,通过@RequestParam绑定请求参数 * 1、使用RequestMapping注解来映射请求的URL,在本案例,处理/say此URL的GET请求 * 2、...
  • 主要介绍了spring boot中controller的使用及url参数获取方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 关于springboot中获取post请求参数的问题

    万次阅读 多人点赞 2019-03-31 21:24:09
    最近在做微信小程序,用的spring boot做后端,突然发现客户端发送post请求的时候服务端接受不到参数。问题简化之后如下: 微信小程序端: 在页面放一个按钮进行测试 <!--index.wxml--> <view class=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,600
精华内容 48,240
关键字:

controller获取不到请求参数