青云开发

学习、记录、总结、侃大山

本例子是再springboot-base 基础上进行

新建一个包用来存放接口类文件

1569397133707.png

再新建一个HelloWorld类文件敲上如下代码:

1569399733325.png

1569399861010.png

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.*;
/**
* @ClassName HelloWorld
* @Author wuzhiyong
* @Date 2019/9/25 15:39
* @Version 1.0
**/
@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)测试

1569403680828.png

浏览器请求 /hello 接口404错误 是因为 该接口没有加 @ResponseBody 注解。系统会去找页面。由于页面没有配置,所以这里出现404

1569403744387.png

请求list 接口 数据正常返回了

1569403782104.png

这个是用 postman 测试list接口 也正常返回了

1569403842099.png

测试 /list/0 接口返回了 list 的0位数据,正常得到了 java

1569403925422.png

访问/list01/0 接口。虽然接口内容相同。 出现400 是因为接口没有加上 @ResponseBody 注解。

1569404022936.png

出现了405 是因为 请求方法不对。后台这个接口请求得 用post 方式请求(浏览器默认是GET方式请求)。

下面用工具 用post方式 请求就正常了。

1569404512476.png

1569404548317.png

这里 再通过 /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;
}

然后重启项目

然后浏览器访问:

1569406143618.png

用postman访问:

1569406193340.png

postman 自动将返回的数据格式化了。

ps:由于map 是无序的 所以这里得到的结果是无序的。

使用工具来测试接口。可以更直观的看到请求方式、参数列表、请求状态、响应时间、数据大小。并且填写好备注后,可以直接生成接口文档。

idea创建springboot项目

第一步:

打开idea 选择 file > new > project

1569395305579.png

选择spring initializr 点击 next

1569395451125.png

填写完项目必要的信息后点击 next

1569395633321.png

勾选 springweb 点击next

1569395926511.png

点击finish

1569395996902.png

提示当前窗口或新窗口打开时,自己随意选。

完成后展开目录结构如下:

1569396146937.png

此时项目框架已经完成

点击右上角的 运行按钮就可以启动了

1569396307782.png

下方的日志中即可看到启动成功!

1569396462364.png

文章界面介绍
阅读全文 »

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

0%