前言
上一篇咱们说到如何使用IntelliJ IDEA(下文统一称做idea)创建一个全新的springboot项目,包括启动运行项目,这一篇,我们来学习创建第一个接口
1、HelloWorld controller
controller
顾名思义:控制器,处理请求,它把用户请求的数据经过业务处理层返回给前端,它可以是模板html,JSON,任何http资源。
接下来,我们编写第一个实例 hello world
我们打开编辑器在src/main/java/com/semyin/blog
下面新建一个名为controller
的package
,并在package
中新建一个名为HelloWorld
的Java class
然后我们编写HelloWorld.java
,在类HelloWorld上增加注解Controller
和ResponseBody
,新增方法getHelloWorld
,并且用@GetMapping增加注解
package com.semyin.blog.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@ResponseBody
public class HelloWorld {
@GetMapping("/hello-world")
public String getHelloWorld() {
return "Hello World";
}
}
这里解释一下这部分代码里注解的含义
@Controller 定义HelloWorld为控制器
@ResponseBody 返回结果直接写入HTTP response body中
@GetMapping 接受GET请求,后面的括号里面的值代表URL路径,当spring 监听到请求这个路径的时候,执行下面的方法并返回结果
然后像上篇文中那样打开BlogApplication.java
运行主程序入口文件,或者直接使用idea右上角的运行按钮,选择debug BlogApplication
打开浏览器http://127.0.0.1:8080/hello-world
, 会发现我们返回的字符串了
2 返回JSON数据
package com.semyin.blog.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
+++
import java.util.HashMap;
import java.util.Map;
+++
@Controller
@ResponseBody
public class HelloWorld {
@GetMapping("/hello-world")
public String getHelloWorld() {
return "Hello World";
}
+++
@GetMapping("/hello-world-json")
public Object getHelloWorldJson() {
Map<Object, Object> map = new HashMap<>();
map.put("data", "hello world");
map.put("code", 200);
map.put("msg", "ok");
return map;
}
+++
}
这样我们的一个简单的接口就写好了
总结
1 controller 负责处理请求
2 注解@Controller 定义控制器类,在spring项目中由控制器负责处理用户请求
3 @ResponseBody 表示该方法的返回结果直接写入HTTP response body中 > 4 @GetMapping 标示改方法接受GET请求