苍穹外卖项目学习day01

端口占用

报错信息:


APPLICATION FAILED TO START


Description:

Web server failed to start. Port 8080 was already in use.

解决办法

netstat -ano | findstr 8080
查看端口占用
杀进程
taskkill /PID 5372 /F
重启

对前端传来的明文密码进行加密处理

使用MD5加密方法

具体解决办法

1.在数据库中存储加密过的数据(这里是手动修改)

2.在后端中EmployServerceimpl里面设置:当获取到前端传来的(明文)密码后,执行

password = DigestUtils.md5DigestAsHex(password.getBytes());

接口测试

1.导入接口文档

使用APIfox,新建项目,导入,导入文件类型选择yapi

2.配置swagger(在线测试接口)

使用的框架Knife4j继承了swagger

<dependency>
<groupld>com.github.xiaoymin</groupld>
<artifactld>knife4j-spring-boot-starter</artifactld><version>3.0.2</version>
</dependency>
# maven坐标

使用方式:

1.导入knife4j的maven坐标
2.在配置类中加入knife4j相关配置
3.设置静态资源映射,否则接口文档页面无法访问

//1.
<dependency>
<groupld>com.github.xiaoymin</groupld>
<artifactld>knife4j-spring-boot-starter</artifactld><version>3.0.2</version>
</dependency>
//2.在webmvcconfigruation里面配置,Swagger 会自动扫描 com.sky.controller 里的接口方法,并生成可视化文档页面。
@Bean
public Docket docket(){
    log.info("准备生成接口文档...")
	Apilnfo apilnfo = new ApilnfoBuilder()
		.title(“苍穹外卖项目接口文档”).version(2.0")
		.description(“苍穹外卖项目接口文档").build();
	Docket docket = new Docket(DocumentationType.SWAGGER_2)
		.apilnfo(apilnfo)
		.select()
		//指定生成接口需要扫描的包
 		.apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
        .paths(PathSelectors.any())
		.build();
	return docket;
}
//3.同样在WebMvcConfiguration,能通过 /doc.html 访问文档页面,该方法addResourceHandlers是重写的,继承自WebMvcConfigurationSupport 
/**
*设置静态资源映射
* @param registry
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
    log. info(“开始设置静态资源映射...");
	registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources");
	registry.addResourceHandler("/webjars/* ".addResourceLocations("classpath:/META-INF/resources/webjars/");
                                //addResourceHandler请求地址映射到addResourceLocations真实地址
                                } 
                                

3.使用生成的在线文档进行调试

1.在需要调式的方法处加断点,在文档解析的方法中进行调试

注意

如果没有第三步的静态地址映射 spring mvc会认为我们是在请求一个动态controller,提示报错:no mapping for GET xxx

如果第二步包名写错会导致文档里面无法解析对应方法

yapi(apifox)设计用,swagger开发用

4.常用注解(接口描述)

@Api(tags=“ ”): 用在类上,例如controlier,表示对类的说明
@ApiModel(description=“ ”): 用在类上,例如entity、DTO、Vo
@ApiModelProperty(“ ”): 用在属性上,描述属性信息,类里面有属性介绍,可以在一起注解
@ApiOperation(value=“ ”): 用在方法上,例如Controller的方法,说明方法的用途、作用

结构:

@Api()
controller{
    @ApiOperation()
    login(DTO)
}
@Apimodel()
DTO{
    @ApiModelPropery()
    Propery()
    Propery()
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值