前言

上一篇咱们说到如何使用IntelliJ IDEA(下文统一称做idea)创建一个全新的springboot项目,包括启动运行项目,这一篇,我们来学习创建第一个接口

1、HelloWorld controller

controller 顾名思义:控制器,处理请求,它把用户请求的数据经过业务处理层返回给前端,它可以是模板html,JSON,任何http资源。

接下来,我们编写第一个实例 hello world

我们打开编辑器在src/main/java/com/semyin/blog下面新建一个名为controllerpackage,并在package中新建一个名为HelloWorldJava class

HelloWorld.java

然后我们编写HelloWorld.java,在类HelloWorld上增加注解ControllerResponseBody,新增方法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

Debug BlogAppllcation

打开浏览器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;
    }
+++
}

浏览器请求到JSON

这样我们的一个简单的接口就写好了

总结

1 controller 负责处理请求
2 注解@Controller 定义控制器类,在spring项目中由控制器负责处理用户请求
3 @ResponseBody 表示该方法的返回结果直接写入HTTP response body中 
> 4 @GetMapping 标示改方法接受GET请求