本例子是再springboot-base 基础上进行
新建一个包用来存放接口类文件
再新建一个HelloWorld类文件敲上如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 package com.example.springbootbase.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.ResponseBody;import java.util.*;@Controller public class HelloWorld { List<String> list_str = Arrays.asList("java" ,"php" ,"go" ,"c" ); Map map_str = new HashMap <String,String>(); @GetMapping("/hello") public String hello () { return "hello world" ; } @ResponseBody @GetMapping("list") public Object getList () { return list_str; } @ResponseBody @GetMapping("list/{index}") public Object getListByIndex (@PathVariable("index") int index) { return list_str.get(index); } @GetMapping("list01/{index}") public Object getListByIndex01 (@PathVariable("index") int index) { return list_str.get(index); } @ResponseBody @GetMapping("map/{key}") public Object getValueByKeyOnMap (@PathVariable ("key" ) String key){ return map_str.get(key); } @ResponseBody @PostMapping("map/{key}/{value}") public Object putMapBykv ( @PathVariable("key") String key, @PathVariable("value") String value) { map_str.put(key,value); return "success" ; } }
启动项目打开浏览器(或用接口测试工具 例:postman)测试
浏览器请求 /hello 接口404错误 是因为 该接口没有加 @ResponseBody 注解。系统会去找页面。由于页面没有配置,所以这里出现404
请求list 接口 数据正常返回了
这个是用 postman 测试list接口 也正常返回了
测试 /list/0 接口返回了 list 的0位数据,正常得到了 java
访问/list01/0 接口。虽然接口内容相同。 出现400 是因为接口没有加上 @ResponseBody 注解。
出现了405 是因为 请求方法不对。后台这个接口请求得 用post 方式请求(浏览器默认是GET方式请求)。
下面用工具 用post方式 请求就正常了。
这里 再通过 /map/{key}接口获取 刚刚 存入map 里的数据。正常返回!
听说前后台都是用JSON数据进行交互的,这里我要返回一个json字符串怎么办。 我们先加上这样一个方法
1 2 3 4 5 6 7 8 9 @ResponseBody @GetMapping("getjson") public Object getjson ( ) { map_str.put("我要学习" ,"java" ); map_str.put("我要认真学习" ,"数据库" ); map_str.put("我要好好学习" ,"spring" ); map_str.put("所以我今晚打算" ,"去搓麻将" ); return map_str; }
然后重启项目 然后浏览器访问:
用postman访问:
postman 自动将返回的数据格式化了。
ps:由于map 是无序的 所以这里得到的结果是无序的。
使用工具来测试接口。可以更直观的看到请求方式、参数列表、请求状态、响应时间、数据大小。并且填写好备注后,可以直接生成接口文档。