• SpringBoot(1) HTTP接口请求


    一、HTTP请求配置讲解

    简介:SpringBoot2.x  HTTP请求注解讲解和简化注解配置技巧

    1、@RestController和@RequestMapping是springMVC的注解,不是springboot特有的
    2、@RestController=@Controller+@ResponseBody
    3、@SpringBootApplication=@Configuration+@EnableAutoConfiguration+@ComponentScan

    二、接口工具PostMan用于接口调试

    基本功能,如图

    左侧功能栏:History为近期的测试脚本历史记录;Collections为以postman官网API为例的脚本实例,也可以新建文件夹,用于放置不同测试脚本的文件集合;

    主界面:可以选择HTTP请求的方法,填写URL、参数,cookie管理、脚本保存&另存为等功能。

    三、HTTP接口GET请求

      1 //测试http协议的get请求
      2 @RestController
      3 public class GetController {
      4  
      5     private Map<String,Object> params = new HashMap<>();
      6     
      7     /**
      8      * 功能描述:测试restful协议,从路径中获取字段
      9      * @param cityId
     10      * @param userId
     11      * @return
     12      * 注意:传递参数都用小写
     13      * 
     14      * 前端:localhost:8080/100/20
     15      */
     16     @RequestMapping(path = "/{city_id}/{user_id}", method = RequestMethod.GET)
     17     public Object findUser(@PathVariable("city_id") String cityId,
     18             @PathVariable("user_id") String userId ){
     19         params.clear();
     20         
     21         params.put("cityId", cityId);
     22         params.put("userId", userId);
     23         
     24         return params;
     25         
     26     }
     27     
     28     /**
     29      * 功能描述:测试GetMapping
     30      * @param from
     31      * @param size
     32      * @return
     33      * 
     34      * 前端:localhost:8080/v1/page_user1?from=0&size=10
     35      */
     36     @GetMapping(value="/v1/page_user1")
     37     public Object pageUser(int  from, int size ){
     38         params.clear();
     39 
     40         params.put("from", from);
     41         params.put("size", size);
     42         
     43         return params;
     44         
     45     }
     46     
     47     /**
     48      * 功能描述:默认值,是否必须的参数
     49      * @param from
     50      * @param size
     51      * @return
     52      */
     53     @GetMapping(value="/v1/page_user2")
     54     public Object pageUserV2(@RequestParam(defaultValue="0",name="page") int  from, int size ){
     55         
     56         params.clear();
     57         params.put("from", from);
     58         params.put("size", size);
     59         
     60         return params;
     61         
     62     }
     63     
     64     
     65     /**
     66      * 功能描述:bean对象传参
     67      * 注意:1、注意需要指定http头为 content-type为application/json
     68      *         2、使用body传输数据
     69      * @param user
     70      * @return
     71      */
     72     @RequestMapping("/v1/save_user")
     73     public Object saveUser(@RequestBody User user){
     74         params.clear();
     75         params.put("user", user);
     76         return params;    
     77     }
     78     
     79     /**
     80      * 功能描述:测试获取http头信息
     81      * @param accessToken
     82      * @param id
     83      * @return
     84      */
     85     @GetMapping("/v1/get_header")
     86     public Object getHeader(@RequestHeader("access_token") String accessToken, String id){
     87         params.clear();
     88         params.put("access_token", accessToken);
     89         params.put("id", id);
     90         return params;    
     91     } 
     92     
     93     @GetMapping("/v1/test_request")
     94     public Object testRequest(HttpServletRequest request){
     95         params.clear();
     96         String id = request.getParameter("id");
     97         params.put("id", id);
     98         return params;    
     99     }
    100     
    101 }

    四、HTTP接口POST,PUT,DELETE请求

     1 //测试http协议的post,del,put请求
     2 @RestController
     3 public class OtherHttpController {
     4     
     5     private Map<String,Object> params = new HashMap<>();
     6     
     7     /**
     8      * 功能描述:测试PostMapping
     9      * @param accessToken
    10      * @param id
    11      * @return
    12      */
    13     @PostMapping("/v1/login")
    14     public Object login(String id, String pwd){
    15         params.clear();
    16         params.put("id", id);
    17         params.put("pwd", pwd);
    18         return params;    
    19     }
    20     
    21     @PutMapping("/v1/put")
    22     public Object put(String id){
    23         params.clear();
    24         params.put("id", id);
    25         return params;    
    26     }
    27     
    28     @DeleteMapping("/v1/del")
    29     public Object del(String id){
    30         params.clear();
    31         params.put("id", id);
    32         return params;    
    33     }
    34     
    35 }
  • 相关阅读:
    TFS 2010安装指南
    让C#事件也可以异步触发
    Automated BuildDeployTest using TFS 2010
    BLEND + SKETCHFLOW PREVIEW FOR VISUAL STUDIO 2012
    The trust relationship between this workstation and the primary domain failed
    微软发布官方TFS 2010 Scrum 模板
    Visual Studio 2012 New Features: Compatibility (aka Project RoundTripping)
    Hibernate 的<generator class="native"></generator>的不同属性含义
    WDS桥接和WDS中继的区别
    Upgrading TFS 2010 to TFS 2012 RC,tfs2010升级2012
  • 原文地址:https://www.cnblogs.com/platycoden/p/9778174.html
Copyright © 2020-2023  润新知