spring boot (二) web swagger2

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

spring boot starter web

首先我们需要引包

	<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

这就是告诉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包

	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger2</artifactId>
		<version>2.2.2</version>
	</dependency>
	<dependency>
		<groupId>io.springfox</groupId>
		<artifactId>springfox-swagger-ui</artifactId>
		<version>2.2.2</version>
	</dependency>

创建swagger2的配置

@Configuration //spring boot 开启一个配置项,和spring的配置文件功能类似
@EnableSwagger2 //开启swagger
public 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();
    }
}

启动项目,再访问一下http://127.0.0.1:8081/web/swagger-ui.html

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

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

spring boot web 是不是很简单呢

---------------代码 git 地址 https://gitee.com/distant/spring-boot-geit.git

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值