前言
Spring Boot开发项目常见的交互使用形式有两种:一种是后端接口直接返回页面,另外一种是返回JSON数据。前者在常见的传统IT公司比较多,配合模板引擎,由后端页面渲染返回。而后者则是互联网公司用的比较多,比如微服务接口,前后端分离项目,手机app等,基本都是通过JSON数据交互。后端接口直接返回页面现在用的比较少了,主流还是使用JSON数据交互。所以今天我们做前后端分离项目的第一步,写我们的第一个JSON接口。
开发你的第一个JSON接口
首先创建Spring Boot项目,创建controller包以及VideoController.java文件。
编写第一个JSON接口,代码如下:
package com.gw.demo.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api/v1/video")
public class VideoController {
@RequestMapping("list")
public Object list(){
Map<String,String > map = new HashMap<>();
map.put("1","SpringBoot课程");
map.put("2","SpringCloud微服务课程");
return map;
}
}
在谷歌浏览器输入地址:http://localhost:8080/api/v1/video/list 之后可看到浏览器显示页面如下:
我在谷歌浏览器装了扩展程序,所以显示会好看一些。如果没有装扩展程序就显示的是一行数据,想尝试的同学可以百度搜索谷歌浏览器JSON扩展程序,安装即可。至此我们的第一个JSON接口编写完成。
以下是JSONView扩展程序:
前后端分离测试必备工具PostMan
当然我们写好接口不能总是在浏览器测试,我们要用专业的接口测试工具去测试数据。接下来我要介绍的就是PostMan工具,它的作用是模拟浏览器请求,拼装参数和格式化json响应结果。
安装地址: https://www.getpostman.com/.
使用PostMan测试如下:
SpringBoot常用注解
开发第一个JSON接口的时候,相信第一次接触Spring Boot的同学还不明白@SpringBootApplication、@RestController、@RequestMapping这些注解是什么意思,具体怎么用。接下来我介绍几个我们平时开发项目常用的注解,这些注解对于开发一个小demo足够用了,当然SpringBoot的常用注解有很多,我们这里只是简单介绍几个,有兴趣的同学可以百度去搜一下相关的资料。
1.@SpringBootApplication
这个注解是Spring Boot项目的基石,创建Spring Boot项目之后会默认在主类加上。
package com.gw.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
我们可以把@SpringBootApplication看作是@Configuration、@EnableAutoConfiguration、@ComponentScan注解的集合。
根据Spring Boot官网,这三个注解的作用是:
@EnableAutoConfiguration:启用Spring Boot的自动配置机制。
@ComponentScan:扫描被@Component(@Service,@Controller)注解的bean,注解默认会扫描该类所在包下的所有类。
@Configuration:允许Spring上下文中注册额外的bean或导入其他配置类。
2.@Autowired
自动导入对象到类中,被注入进的类要被Spring容器管理。
3.@Component
通用注解,可标注任意类为Spring组件。如果一个Bean不知道属于哪层,可以使用@Component注解标注。
4.@Repository
对应持久层即Dao层,主要用于数据库相关操作。
5.@Service
对应服务层,主要涉及一些复杂的逻辑。
6.@Controller
对应Spring MVC控制层,主要返回页面。
6.@RestController
@RestController注解是@Controller和@ResponseBody的合集,主要用于返回JSON数据或XML数据。
7.@Configuration
一般用来声明配置类,可以使用@Component注解代替,不过用@Configuration注解声明配置类更加语义化。
剩下的注解我会在之后的文章中再一一介绍,熟悉以上注解对于你开发一个小demo已经足够用了。
结语
今天的总结就到这里,欢迎大家纠正错误以及补充内容!