• springboot 常见请求方式


    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80404645
    本文出自【赵彦军的博客】

    用户模型类

    package com.yiba.wifi.news.bean.domain;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    
    @Entity
    public class User {
    
        @Id
        @GeneratedValue
        Integer id;
    
        String name;
    
        Integer age ;
    
        //....set 省略
        //....get 省略
    }
    
    

    Get 请求

    1、无参

    请求api

    http://localhost:8083/api/find
    

    接口设计

    package com.yiba.wifi.news.controller;
    
    import com.yiba.wifi.news.bean.domain.User;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @RequestMapping("api")
    public class UserController {
    
        Logger logger = LoggerFactory.getLogger(this.getClass());
    
        /**
         * 查询 id 数据
         * @return
         */
        @GetMapping("find")
        public User findOne() {
    
            //查询用户逻辑.....
            return new User();
        }
    
    }
    
    

    2、带参数

    请求api

    http://localhost:8083/api/find?name=zhaoyanjun
    
    

    接口设计

    package com.yiba.wifi.news.controller;
    
    import com.yiba.wifi.news.bean.domain.User;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @RequestMapping("api")
    public class UserController {
    
        Logger logger = LoggerFactory.getLogger(this.getClass());
    
        /**
         * 查询 id 数据
         * 当 name 为 null 的时候,用默认值 yanjun 代替
         * @return
         */
        @GetMapping("find")
        public User findOne(@RequestParam(value = "name", defaultValue = "yanjun") String name) {
    
            //查询用户逻辑.....
            logger.info("name:" + name);
            return new User();
        }
    
    }
    
    

    3、RESTful API

    请求api

    http://localhost:8083/api/find/5
    

    接口设计

    package com.yiba.wifi.news.controller;
    
    import com.yiba.wifi.news.bean.domain.User;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @RequestMapping("api")
    public class UserController {
    
        Logger logger = LoggerFactory.getLogger(this.getClass());
    
        /**
         * 查询 id 数据
         *
         * @param id
         * @return
         */
        @GetMapping("find/{id}")
        public User findOne(@PathVariable("id") Integer id) {
            logger.info("id:" + id);
            
            //查询用户逻辑.....
            return new User();
        }
    
    }
    
    

    POST 请求

    1、表单请求

    1、 请求api 方式一

    http://localhost:8083/api/find?name=zhaoyanjun
    

    实例图:
    这里写图片描述

    2、 请求api 方式二:表单

    http://localhost:8083/api/find
    

    实例图:

    这里写图片描述

    接口设计

    package com.yiba.wifi.news.controller;
    
    import com.yiba.wifi.news.bean.domain.User;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @RequestMapping("api")
    public class UserController {
    
        Logger logger = LoggerFactory.getLogger(this.getClass());
    
        /**
         * 查询 id 数据
         *
         * @return
         */
        @PostMapping("find")
        public User findOne(@RequestParam(value = "name", defaultValue = "yanjun",required = false) String name) {
    
            //查询用户逻辑.....
            logger.info("name:" + name);
            return new User();
        }
    
    }
    
    

    2、参数为对象

    请求api

    http://localhost:8083/api/find
    

    请求 body

    {
        "id": 1,
        "name": "yanjun",
        "age": 18
    }
    

    接口设计

    package com.yiba.wifi.news.controller;
    
    import com.yiba.wifi.news.bean.domain.User;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @RequestMapping("api")
    public class UserController {
    
        Logger logger = LoggerFactory.getLogger(this.getClass());
    
        /**
         * 查询 id 数据
         *
         * @return
         */
        @PostMapping("find")
        public User findOne(@RequestBody User user) {
    
            //查询用户逻辑.....
            logger.info("name:" + user.getName());
            return user;
        }
    
    }
    
    

    请求示例:

    这里写图片描述

    请求 header 获取

    获取单个 header

    接口设计

    package com.yiba.wifi.news.controller;
    
    import com.yiba.wifi.news.bean.domain.User;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.bind.annotation.*;
    
    @RestController
    @RequestMapping("api")
    public class UserController {
    
        Logger logger = LoggerFactory.getLogger(this.getClass());
    
    
        /**
         *
         * @param user
         * @param token 获取 header 里面的 token 字段
         * @return
         */
        @PostMapping("find")
        public User findOne(@RequestBody User user,
                            @RequestHeader(value = "token") String token) {
    
            //查询用户逻辑.....
            logger.info("token:" + token);
            return user;
        }
    
    }
    
    

    请求示例

    这里写图片描述

    2、获取所有 header

    接口设计

    package com.yiba.wifi.news.controller;
    
    import com.yiba.wifi.news.bean.domain.User;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.http.HttpHeaders;
    import org.springframework.web.bind.annotation.*;
    
    import javax.servlet.http.HttpServletRequest;
    
    @RestController
    @RequestMapping("api")
    public class UserController {
    
        Logger logger = LoggerFactory.getLogger(this.getClass());
    
        @Autowired
        private HttpServletRequest request;
    
        @PostMapping("find")
        public User findOne(@RequestBody User user) {
    
            logger.info("CONTENT_TYPE:" + request.getHeader(HttpHeaders.CONTENT_TYPE));  //获取header
            logger.info("TOKEN:" + request.getHeader("token")); //获取header
    
            return user;
        }
    }
    
    

    个人微信号:zhaoyanjun125 , 欢迎关注

  • 相关阅读:
    pymoo: Multi-objective Optimization in Python
    读代码——NSGAII
    读论文——A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II
    神经网络入门00
    梯度下降pthon实现
    在线加解密工具
    安恒杯-一张谍报
    漏洞挖掘学习记录
    安恒杯-元数据存储
    安恒杯-babysql
  • 原文地址:https://www.cnblogs.com/zhaoyanjun/p/9076833.html
Copyright © 2020-2023  润新知