zoukankan      html  css  js  c++  java
  • 测试开发进阶——spring boot——MVC——get访问——无注解下获取参数

    控制器页面:

    package com.awaimai.web;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.HashMap;
    import java.util.Map;
    
    @RestController
    public class kzq
    {
        /**
         * 无注解获取参数时,参数名称和HTTP请求参数必须一致
         * @param name String 姓名
         * @param age int 年龄
         * @param score double 分数
         * @return 响应json字符-@ResponseBody注解将map转为json
         */
        @RequestMapping("/param/noannotation")
        @ResponseBody
        public Map<String, Object> noAnnotation(String name, int age, double score) {
            Map<String, Object> paramMap = new HashMap<String, Object>();
            paramMap.put("name", name);
            paramMap.put("age", age);
            paramMap.put("score", score);
            return paramMap;
        }
    
    
        @RequestMapping("/123")
        public String testweb01()
        {
            return "abc";
        }
    
        @RequestMapping("/1234")
        public String testweb02()
        {
            return "123abc";
        }
    
    }
    

      

    无注解下获取参数,需要控制器层参数与HTTP请求栏参数名称一致,这样后台就可以获取到请求栏的参数。

    web访问如下:

    URL:  http://localhost:8080/param/noannotation?name=zhangsan&age=14&score=89.1

    ====================================================================================================

    PS:

    方法中,我们接收三个参数,分别为name,age和score

    启动springboot后,在浏览器中请求URL:http://localhost:8080/param/noannotation?name=zhangsan&age=14&score=89.1

    前端页面会自动得到我们输入的参数的json形式。

     

    如果我们的请求URL中name不给参数值 http://localhost:8080/param/noannotation?name=&age=12&score=89.1

    请求可以正常跳转。

     

    如果我们将int 或 long 参数为空,给URL http://localhost:8080/param/noannotation?name=lisi&age=12&score=

    请求会报错。

     

    无法将String型参数转化为需要的double型。

    这里可以看出,如果我们不给参数赋值,那么spring会将空着的参数默认按照String型空字符串处理。

    所以,如果是String型的参数,为空时不报错的;若是非String型参数,则必须非空。

  • 相关阅读:
    DataTable转换成List
    gitbash如何修改可恶的蓝色字体
    nvm use exit status 1
    搭建CNPM私有库
    Angular2项目,刷新后页面显示404错误的?
    基于webpack模块加载,ts里对系统对象prototype的扩展
    Angular2 primeNG的p-dropdown的选中值未初始化
    移动端开发常见问题
    weinre的使用
    利用百度地图API进行GPS坐标转换成百度地图坐标,创建点,标签,多边形
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15084471.html
Copyright © 2011-2022 走看看