springbootq请求访问_SpringBoot(1) HTTP接口请求

一、HTTP请求配置讲解

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

1、@RestController和@RequestMapping是springMVC的注解,不是springboot特有的

2、@RestController=@Controller+@ResponseBody

3、@SpringBootApplication=@Configuration+@EnableAutoConfiguration+@ComponentScan

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

基本功能,如图

52419b542b1cc761ddc8e11b3776c5b3.png

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

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

三、HTTP接口GET请求

1 //测试http协议的get请求

2 @RestController3 public classGetController {4

5 private Map params = new HashMap<>();6

7 /**

8 * 功能描述:测试restful协议,从路径中获取字段9 *@paramcityId10 *@paramuserId11 *@return

12 * 注意:传递参数都用小写13 *14 * 前端:localhost:8080/100/2015 */

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 returnparams;25

26 }27

28 /**

29 * 功能描述:测试GetMapping30 *@paramfrom31 *@paramsize32 *@return

33 *34 * 前端:localhost:8080/v1/page_user1?from=0&size=1035 */

36 @GetMapping(value="/v1/page_user1")37 public Object pageUser(int from, intsize ){38 params.clear();39

40 params.put("from", from);41 params.put("size", size);42

43 returnparams;44

45 }46

47 /**

48 * 功能描述:默认值,是否必须的参数49 *@paramfrom50 *@paramsize51 *@return

52 */

53 @GetMapping(value="/v1/page_user2")54 public Object pageUserV2(@RequestParam(defaultValue="0",name="page") int from, intsize ){55

56 params.clear();57 params.put("from", from);58 params.put("size", size);59

60 returnparams;61

62 }63

64

65 /**

66 * 功能描述:bean对象传参67 * 注意:1、注意需要指定http头为 content-type为application/json68 * 2、使用body传输数据69 *@paramuser70 *@return

71 */

72 @RequestMapping("/v1/save_user")73 publicObject saveUser(@RequestBody User user){74 params.clear();75 params.put("user", user);76 returnparams;77 }78

79 /**

80 * 功能描述:测试获取http头信息81 *@paramaccessToken82 *@paramid83 *@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 returnparams;91 }92

93 @GetMapping("/v1/test_request")94 publicObject testRequest(HttpServletRequest request){95 params.clear();96 String id = request.getParameter("id");97 params.put("id", id);98 returnparams;99 }100

101 }

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

1 //测试http协议的post,del,put请求

2 @RestController3 public classOtherHttpController {4

5 private Map params = new HashMap<>();6

7 /**

8 * 功能描述:测试PostMapping9 *@paramaccessToken10 *@paramid11 *@return

12 */

13 @PostMapping("/v1/login")14 publicObject login(String id, String pwd){15 params.clear();16 params.put("id", id);17 params.put("pwd", pwd);18 returnparams;19 }20

21 @PutMapping("/v1/put")22 publicObject put(String id){23 params.clear();24 params.put("id", id);25 returnparams;26 }27

28 @DeleteMapping("/v1/del")29 publicObject del(String id){30 params.clear();31 params.put("id", id);32 returnparams;33 }34

35 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
@RequestMapping("/upload") public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception { if (file.isEmpty()) { throw new EIException("上传文件不能为空"); } String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1); File path = new File(ResourceUtils.getURL("classpath:static").getPath()); if(!path.exists()) { path = new File(""); } File upload = new File(path.getAbsolutePath(),"/upload/"); if(!upload.exists()) { upload.mkdirs(); } String fileName = new Date().getTime()+"."+fileExt; File dest = new File(upload.getAbsolutePath()+"/"+fileName); file.transferTo(dest); /** * 如果使用idea或者eclipse重启项目,发现之前上传的图片或者文件丢失,将下面一行代码注释打开 * 请将以下的"D:\springbootq33sd\src\main\resources\static\upload"替换成你本地项目的upload路径, * 并且项目路径不能存在中文、空格等特殊字符 */ // FileUtils.copyFile(dest, new File("D:\springbootq33sd\src\main\resources\static\upload"+"/"+fileName)); /修改了路径以后请将该行最前面的//注释去掉/ if(StringUtils.isNotBlank(type) && type.equals("1")) { ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile")); if(configEntity==null) { configEntity = new ConfigEntity(); configEntity.setName("faceFile"); configEntity.setValue(fileName); } else { configEntity.setValue(fileName); } configService.insertOrUpdate(configEntity); } return R.ok().put("file", fileName); }请解释上述代码的逻辑
05-05

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值