zoukankan      html  css  js  c++  java
  • @PathVariable、@RequestHeader、@RequestParam、@RequestBody 注解使用

    注解使用

    @PathVariable、@RequestHeader、@RequestParam、@RequestBody

    @RestController
    public class ParameterController {
        /**
         * @PathVariable:获取路径变量的注解
         * restFul风格传递参数
         * @param id
         * @param name
         * @return
         */
        @RequestMapping("/info/{id}/{name}")
        public Map<String, Object> info(@PathVariable("id") Integer id, @PathVariable("name") String name) {
            HashMap<String, Object> map = new HashMap<>();
            map.put("id", id);
            map.put("name", name);
            System.out.println(map);
            return map;
        }
    }
    

    /**
     * restFul风格传递参数时,可以用一个map集合接收所有参数
     * 注意:参数前还是需要写@PathVariable注解
     * @param map
     * @return
     */
    @RequestMapping("/{id}/{name}/{age}/{gender}")
    public Map<String, Object> info(@PathVariable Map<String, Object> map){
            System.out.println(map);
            return map;
            }
    

      /**
     * @param host
     * @param map
     * @return
     * @RequestHeader 获取请求头的注解
     * 当注解加了值的时候是获取某个请求头
     * 如果注解不加值,用一个map集合则获取的是所有的请求头
     */
    @RequestMapping("/befo")
    public Map<String, Object> befo(@RequestHeader("host") String host,@RequestHeader Map<String, Object> map){
            System.out.println(host);
            System.out.println(map);
            return map;
            }
    

       /**
     * RequestParam 获取请求参数的注解
     * 当注解加了值的时候是获取某个请求参数
     * 如果注解不加值,用一个map集合则获取的是所有的请求参数
     * 注意:也可以在有多个路径变量的url路径中获取某个参数
     *
     * @param id
     * @param name
     * @param age
     * @param gender
     * @param map
     * @param map2
     * @return
     */
    @RequestMapping("/{id}/{name}")
    public Object info(@PathVariable("id") Integer id,
    @PathVariable("name") String name,
    @RequestParam("age") Integer age,
    @RequestParam("gender") String gender,
    @PathVariable Map<String, Object> map,
    @RequestParam Map<String, Object> map2
            ){
            System.out.println(age);
            System.out.println(map);
            System.out.println(map2);
            ArrayList<Object> objects=new ArrayList<>();
            objects.add(map);
            objects.add(map2);
    
            return objects;
            }
    
    <a href="/2/xiang?age=18&gender=男">
        "/2/xiang?age=18&gender=男"
    </a>
    

        /**
     * @param requestBody
     * @return
     * @RequestBody:获取请求体的内容
     * 注意:只有post请求才有请求体
     */
    @RequestMapping("/info2")
    public String info2(@RequestBody String requestBody){
            System.out.println(requestBody);
            return requestBody;
            }
    
    <form action="/info2" method="post">
        <input type="text" name="name">
        <input type="password" name="pwd">
        <input type="submit" value="提单">
    </form>
    

  • 相关阅读:
    vue脚手架搭建项目步骤(转载)
    使用css样式设置按钮禁用
    如何设置页面文本不可复制?
    System.IO.IOException:需要的特权不被客户端持有。
    vs中 git fetch与git pull的区别
    如何获取按钮开关选中的状态?
    Uncaught TypeError: XXX is not a function...
    解决bootstrap缩小布局会乱的问题,缩小一定程度后出现横向滚动条
    日期(年月日)与时间戳互转换
    Java中的Finally
  • 原文地址:https://www.cnblogs.com/d534/p/15402938.html
Copyright © 2011-2022 走看看