注解@swagger2的作用

作用:

使用swagger2构建restful接口测试

优点:

可以生成文档形式的api并提供给不同的团队

便于自测,也便于领导查阅任务量

无需过多冗余的word文档

如何使用

第一步:配置swagger类

package com.lpy;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.service.Contact;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
/**
 * 通过java代码配置
 * @author Richard
 *
 *@Configuration表示是配置文件
 *@EnableSwagger2开启这个配置
 *
 */
@Configuration
@EnableSwagger2
public class Swagger2 {
	/**
	 * @Description:swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等,注:让我们的swagger2扫描我们controller
	 */
	@Bean
	public Docket createRestApi() {		
		return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
				.apis(RequestHandlerSelectors.basePackage("com.lpy.controller"))
				.paths(PathSelectors.any()).build();
	}
	/**
	 * @Description: 构建 api文档的信息
	 */
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				// 设置页面标题
				.title("使用swagger2构建短视频后端api接口文档")
				// 设置联系人
				.contact(new Contact("Richard", "http://www.lpy.com", "lpy@163.com"))
				// 描述
				.description("欢迎访问短视频接口文档,这里是描述信息")
				// 定义版本号
				.version("1.0").build();
	}
 
}

第二步:给接口写注解

package com.lpy.controller;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.lpy.pojo.Users;
import com.lpy.service.UserService;
import com.lpy.utils.LpyJSONResult;
import com.lpy.utils.MD5Utils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
 * @RestController表示已json格式进行传递
 * @RequestBody表示将json对象转换成对象
 * @author Richard
 */
@RestController
@Api(value="用户注册登陆的接口",tags= {"注册和登陆的controller"})
public class RegistLoginController {
	//注入service
	@Autowired
	private UserService userService;
	
	@ApiOperation(value="用户注册",notes="用户注册的接口")
	@PostMapping("/regist")
	public LpyJSONResult regist(@RequestBody Users user) throws Exception {
		//1、判断用户名和密码必须不为空
		if(StringUtils.isBlank(user.getUsername())||StringUtils.isBlank(user.getPassword())) {
			return LpyJSONResult.errorMsg("用户名和密码不能为空");
		}
		//2、判断用户名是否存在
		boolean usernameIsExist=userService.queryUsernameIsExist(user.getUsername());
		//3、保存用户,注册信息
		if(!usernameIsExist) {
			user.setNickname(user.getUsername());//昵称
			user.setPassword(MD5Utils.getMD5Str(user.getPassword()));//密码
			user.setFansCounts(0);//粉丝数
			user.setReceiveLikeCounts(0);//喜欢的数
			user.setFollowCounts(0);//追随数
			userService.saveUser(user);
		}else {
			return LpyJSONResult.errorMsg("用户名已经存在,请换一个再试");
		}	
		return LpyJSONResult.ok();
	}	
}

第三步:给实体类写注解

package com.lpy.pojo;
 
import javax.persistence.*;
 
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel(value="用户对象",description="这是用户对象")
public class Users {
	@ApiModelProperty(hidden=true)
    @Id
    private String id;
	
    @ApiModelProperty(value="用户名",name="username",example="lpyuser",required=true)
    private String username;
    
    @ApiModelProperty(value="密码",name="password",example="123456",required=true)
    private String password;
    
 
    /**
     * @return id
     */
    public String getId() {
        return id;
    }
 
    /**
     * @param id
     */
    public void setId(String id) {
        this.id = id;
    }
 
    /**
     * @return username
     */
    public String getUsername() {
        return username;
    }
 
}

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值