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>
    

  • 相关阅读:
    个人心情闲扯贴~~
    近阶段学习感悟--大一下半学期
    HDU 1003 Max Sum 解题报告
    开始我的新园地--献给我的那些学长们
    软件公司职位简称
    Sql Server参数化查询之where in和like实现详解 [转]
    21个值得收藏的Javascript技巧
    [转]js刷新父窗体
    Oracle10g 连接 sqlserver 在server2008r2 中连接 iis7 .net4.0
    Oracle10g 连接 sqlserver hsodbc dblink 方式 非透明网关
  • 原文地址:https://www.cnblogs.com/d534/p/15402938.html
Copyright © 2011-2022 走看看