spring boot接口开发标准返回类
package icu.lijiaqi.shop.pojo;
import java.io.Serial;
import java.util.HashMap;
import java.util.Map;
/**
* @author : LeeGaki
* @date : 2022/10/13 16:41
* 面向面试编程 --> 李佳琪
*/
public class R extends HashMap<String, Object> {
@Serial
private static final long serialVersionUID = 1L;
public R() {
put("code", 200);
put("msg", "操作成功");
}
public static R error() {
return error(500, "未知异常,请联系管理员");
}
public static R error(String msg) {
return error(500, msg);
}
public static R error(int code, String msg) {
R r = new R();
r.put("code", code);
r.put("msg", msg);
return r;
}
public static R ok(Object object) {
R r = new R();
r.put("data", object);
return r;
}
public static R ok(String msg,Object object) {
R r = new R();
r.put("msg", msg);
r.put("data", object);
return r;
}
public static R ok(Map<String, Object> map) {
R r = new R();
r.putAll(map);
return r;
}
public static R ok() {
return new R();
}
@Override
public R put(String key, Object value) {
super.put(key, value);
return this;
}
}
springboot基本配置
server
server:
# 端口
port: 8081
spring
datasource
spring: # 数据源配置 datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://101.200.221.9:3306/yeb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: password: hikari: # 连接池名 pool-name: DateHikariCP # 最小空闲连接数 minimum-idle: 5 # 空闲连接存活最大时间,默认600000(10分钟) idle-timeout: 180000 # 最大连接数,默认10 maximum-pool-size: 10 # 从连接池返回的连接的自动提交 auto-commit: true # 连接最大存活时间,0表示永久存活,默认1800000(30分钟) max-lifetime: 1800000 # 连接超时时间,默认30000(30秒) onnection-timeout: 30000 # 测试连接是否可用的查询语句 connection-test-query: SELECT 1
cloud---GateWay网关
spring: application: name: cloud-gateway cloud: gateway: discovery: locator: #开启从注册中心通过服务名进行路由 enabled: true # 网关路由 routes: - id: payment_routh #路由id 要求唯一 建议配合服务名 # uri: http://localhost:8001 uri: lb://CLOUD-PAYMENT-SERVICE predicates: - Path=/payment/**
redis
# Redis配置 redis: timeout: 10000ms # 连接超时时间 host: 101.200.221.9 # Redis服务器地址 port: 6379 # Redis服务器端口 database: 0 # 选择哪个库,默认0库 lettuce: pool: max-active: 1024 # 最大连接数,默认 8 max-wait: 10000ms # 最大连接阻塞等待时间,单位毫秒,默认 -1 max-idle: 200 # 最大空闲连接,默认 8 min-idle: 5 # 最小空闲连接,默认 0
rabbitmq
# rabbitmq配置 rabbitmq: # 用户名 username: admin # 密码 password: admin # 服务器地址 host: 101.200.221.9 # 端口 port: 5672 #消息确认回调 publisher-confirm-type: correlated #消息失败回调 publisher-returns: true
spring: # 邮件配置 mail: # 邮件服务器地址 host: smtp.qq.com # 协议 protocol: smtps # 编码格式 default-encoding: utf-8 # 授权码(在邮箱开通服务时获取) password: xfzsiturvecbbeii # 发送者邮箱地址 username: 1004102689@qq.com # 端口(不同邮箱端口号不同) port: 465
servlet
multipart文件上传
spring: servlet: multipart: max-file-size: -1 指定上传文件允许的最大大小。 默认值为1MB max-request-size: -1 指定multipart/form-data请求允许的最大大小。 默认值为10MB。 其中max-file-size指定的大小是单文件上传的大小限制,而max-request-size是一次请求的多个文件大小限制。 其中还有一些上面图片没有的属性: location: 指定将存储上载文件的目录。 未指定时,将使用临时目录。 file-size-threshold: 指定文件将写入磁盘的大小阈值。 默认值为0。
mybatis-plus
# Mybatis-plus配置 mybatis-plus: #配置Mapper映射文件 mapper-locations: classpath*:/mapper/*Mapper.xml # 配置MyBatis数据返回类型别名(默认别名是类名) type-aliases-package: icu.lijiaqi.server.pojo configuration: # 自动驼峰命名 map-underscore-to-camel-case: falsemybatis-plus: global-config: db-config: id-type: auto //主键自增策略
日志配置
## Mybatis SQL 打印(方法接口所在的包,不是Mapper.xml所在的包)
logging: level: icu.lijiaqi.springtest.mapper: debug
Eureka服务注册
eureka: instance: # eureka服务端的实例名称 hostname: localhost client: # false表示不向注册中心注册自己 register-with-eureka: false # false表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务。 fetch-registry: false # 设置Eureka Sever交互的地址查询服务和注册服务都需要依赖这个地址 service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/