博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot (二) web swagger2
阅读量:6200 次
发布时间:2019-06-21

本文共 2933 字,大约阅读时间需要 9 分钟。

hot3.png

在上一篇文章中我们介绍了spring boot是个啥,以及spring boot starter都干了啥,让大家对spring boot有了一个初识的了解,现在我们就开始手动写代码,开发一个web程序。

spring boot starter web

首先我们需要引包

org.springframework.boot
spring-boot-starter-web

这就是告诉spring boot starter帮我启动一个web程序所需要的框架,里面都有什么呢,我们看一下

spring-boot-starter-json :json 解析器,这个应该都懂,解析request参数和response参数

spring-boot-starter-tomcat : 看名字tomcat,构建tomcat容器,以前我们开发web项目时都打war包,让tomcat运行, 而spring boot直接可以用main方法启动,没有使用web容器,其实它还是有的,只是内嵌了。

hibernate-validator : hibernate的校验,spring还真是不重复造轮子

spring-web : spring的web服务,定义spring web的服务规范

spring-webmvc : 这个不多解释,应该都懂

user 登录

创建UserApi.class作为user操作的Controller

@RestController //@Controller和@ResponseBod功能的结合体,@ResponseBody:定义返回解析为json@RequestMapping(value = "/users")public class UserApi {    @RequestMapping(value = "login",method = RequestMethod.POST)    public String login(@RequestBody @Valid UserDTO dto){        if ("张三".equals(dto.getName()) && "1".equals(dto.getPwd())){            return "登录成功";        }        return "登录失败";    }}
@ApiModel(value = "用户登录DTO") //model功能说明public class UserDTO {    @ApiModelProperty(value = "账户") //属性说明    @NotBlank //校验不为null和“”    private String name;    @ApiModelProperty(value = "密码")    @NotBlank    private String pwd;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPwd() {        return pwd;    }    public void setPwd(String pwd) {        this.pwd = pwd;    }}

配置文件

#访问端口server.port=8081#项目路径server.servlet.context-path=/web#项目名称spring.application.name=boot-web

一个简单的spring boot web就这样完成了,是不是非常的简单,再也没有一堆的modelandview的配置了,现在启动项目,访问一下

这样就说明我们的项目启动正常了,至于404是因为没有配置默认的访问接口,所以这里不用管它。

以前的项目中,我们都是通过页面去调用接口,但是现在前后端分离,怎么测试我们写的接口呢,难道用postman?不用,我们有一个测试的神器Swagger2。

Swagger2

要使用Swagger2首先需要引入它的jar包

io.springfox
springfox-swagger2
2.2.2
io.springfox
springfox-swagger-ui
2.2.2

创建swagger2的配置

@Configuration //spring boot 开启一个配置项,和spring的配置文件功能类似@EnableSwagger2 //开启swaggerpublic class Swagger2 {    @Bean    public Docket initDocket(){        return new Docket(DocumentationType.SWAGGER_2)                //api说明                .apiInfo(apiInfo())                //初始化api选择构造器                .select()                //api筛选条件                .apis(RequestHandlerSelectors.basePackage("cn.le"))                //路径筛选                .paths(PathSelectors.any())                .build();    }    private ApiInfo apiInfo(){        return new ApiInfoBuilder()                .title("spring boot swagger2")                .version("1.0")                .build();    }}

启动项目,再访问一下

我们的接口需要那些参数,参数的格式是怎么样子的,都已经给我弄好了,我们只需要填写具体的数值就行了,是不是很神器。

点一下model还能看到参数说明呢

spring boot web 是不是很简单呢

---------------代码 git 地址

转载于:https://my.oschina.net/u/2258281/blog/3032987

你可能感兴趣的文章
3月31日工作日志
查看>>
今天发现一些很有意思的ubuntu命令
查看>>
数据类型
查看>>
模板文件是否有大小限制?
查看>>
vs 操作快捷键
查看>>
监听器和过滤器
查看>>
Java核心技术卷一基础知识-第6章-接口与内部类-读书笔记
查看>>
使用coding.net来托管源码(可以免费存放私有项目的哦)(转载)
查看>>
osx snow leopard下用homebrew 安装php5.3 + php-fpm
查看>>
在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke
查看>>
PHP代码实现二分法查找
查看>>
window无法启动mongodb服务:系统找不到指定的文件错误的解决方法
查看>>
VBScript开发Excel常见问题
查看>>
【GNOME 边框】GNOME窗口无边框
查看>>
stm32串口之存储与解析
查看>>
替换SQL字段中的换行符,回车符
查看>>
$("#left a",$p)的意思
查看>>
SQL自定义函数
查看>>
每天一个linux命令(23):Linux 目录结构(转)
查看>>
[LeetCode] Longest Substring with At Most Two Distinct Characters
查看>>