当前位置: 首页 > wzjs >正文

龙岩网站推广网络seo公司

龙岩网站推广,网络seo公司,桂林网上服务,做fcr的网站java 17 cloud 2023.0.0 boot 3.2.0 cloud alibaba 2022.0.0.0-Rc2 maven 3.9 mysql 8.0 一、创建项目 new project 聚合总父工程名字 字符编码 4.注解生效激活 5.java编译版本选17 6.file type 过滤 删除src 1.1maven中的dependencyManager与dependencies 一般在项目最…

java 17+ cloud 2023.0.0 boot 3.2.0 cloud alibaba 2022.0.0.0-Rc2 maven 3.9+ mysql 8.0+

一、创建项目

  1. new project

  2. 聚合总父工程名字

  3. 字符编码

4.注解生效激活

5.java编译版本选17

6.file type 过滤

删除src

1.1maven中的dependencyManagerdependencies

一般在项目最顶层pom中看到dependencyManager能让所有在子项目中引用一个依赖而不显示的列出版本号,maven会沿着父子层次向上走,知道找到一个拥有dependencyManagement元素的项目,然后就会使用这个dependencyManagement元素中指定的版本号

好处:如果有多个子项目都引用一样依赖,则可以避免在每个使用的子项目里面都声明一个版本号

  1. 当想升级或切换另一个版本的时候,只需要在顶层父容器更新,而不需要一个一个修改子项目

  2. 如果某个子项目需要另外一个版本,只需要声明version就可。

1.2跳过单元测试配置

1.3创建子项目

步骤

  1. 建module

  2. 改pom

  3. 写yml

  4. 主启动

  5. 写业务

1.4Swagger3

  1. 1.加注解

注解标注位置作用
@Tagcontroller类标识controller作用
@Parameter参数标识参数作用
@Parameters参数参数多重说明
@Schemamodle层的javaBean描述魔性作用及每个属性
@Operation方法描述方法作用
@ApiRestponse方法描述响应状态码等

2.含分组迭代的Config配置类

package com.atguigu.cloud.config;import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class Swagger3Config
{@Beanpublic GroupedOpenApi PayApi(){return GroupedOpenApi.builder().group("支付微服务模块").pathsToMatch("/pay/**").build();}@Beanpublic GroupedOpenApi OtherApi(){return GroupedOpenApi.builder().group("其它微服务模块").pathsToMatch("/other/**", "/others").build();}/*@Beanpublic GroupedOpenApi CustomerApi(){return GroupedOpenApi.builder().group("客户微服务模块").pathsToMatch("/customer/**", "/customers").build();}*/@Beanpublic OpenAPI docsOpenApi(){return new OpenAPI().info(new Info().title("cloud2024").description("通用设计rest").version("v1.0")).externalDocs(new ExternalDocumentation().description("www.hhf.com").url("https://yiyan.baidu.com/"));}
}

3.调试方式

http://localhost:8001/swagger-ui/index.html

1.5优化

1.完善日期时间格式

可以在相应类的属性上面使用@JsonFormat注解

@Column(name = "create_time")@Schema(title = "创建时间")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")private Date createTime;@Column(name = "update_time")@Schema(title = "更新时间")@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")private Date updateTime;

如果是Spring Boot项目,也可以在application.yml文件中指定

spring:jackson:date-format:yyyy-MM-dd HH:mm:sstime-zone: GMT+8

2.统一返回值

思路:定义返回标准格式,3大标配

code状态值:由后端统一定义各种返回结果的状态码

message描述:本次接口调用的结果描述

data数据:本次返回的数据

扩展:接口调用时间之类,timestamp:接口调用时间

步骤:

1.新建枚举类ResturnCodeEnmu

HTTP请求返回状态码

ReturnCodeEnum

package com.atguigu.cloud.resp;import lombok.Getter;import java.util.Arrays;@Getter
public enum ReturnCodeEnum {RC999("999","操作xxx失败"),RC200("200", "success"),RC201("201", "服务器开启降级保护,请稍后再试"),RC202("202", "热点参数限流,请稍后再试"),RC203("203", "系统规则不满足要求,请稍后再试"),RC204("204", "授权规则不通过,请稍后再试"),RC403("403", "无访问权限,请联系管理员授予权限"),RC401("401", "匿名用户访问无权限资源时的异常"),RC404("404", "404页面找不到的异常"),RC500("500", "系统异常请稍后再试"),RC375("375", "数学运算异常,请稍后再试"),INVALID_YOKEN("2001","访问令牌不合法"),ACCESS_DENIED("2003","没有权限访问该资源"),CLIENT_AUTHENTICATION_FAILED("1001","客户端认证失败"),USERNAME_OR_PASSWORD_ERROE("1002","用户名或密码错误"),BUSINESS_ERROR("1004","业务逻辑异常"),UNSUPPORTED_GRANT_TYPE("1003","不支持的认证模式");private final String code;private final String message;ReturnCodeEnum(String code, String message) {this.code = code;this.message = message;}/*** 如何定义一个通用的枚举类* 举值-构造-遍历*///传统版//3.1public static ReturnCodeEnum getReturnCodeEnum(String code){for (ReturnCodeEnum element : ReturnCodeEnum.values()) {if(element.getCode().equalsIgnoreCase(code)){return element;}}return  null;}//3.2Stream流式计算public static ReturnCodeEnum getReturnEnum1(String code){return Arrays.stream(ReturnCodeEnum.values()).filter(x -> x.getCode().equalsIgnoreCase(code)).findFirst().orElse(null);}   }

2.新建统一定义返回对象ResultData

1.6全局异常处理

为什么需要全局异常处理器,不在手写try...catch

新建全局异常类GlobalExecptionHandler

package com.atguigu.cloud.exp;import com.atguigu.cloud.resp.ResultData;
import com.atguigu.cloud.resp.ReturnCodeEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;@Slf4j
@RestControllerAdvice
public class GlobalExexptionHandler {@ExceptionHandler(RuntimeException.class)@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)public ResultData<String> execption(Exception e){System.out.println("####come in GlobalExecptionHandler");log.error("全局异常信息:{}",e.getMessage(),e);return ResultData.fail(ReturnCodeEnum.RC500.getCode(), e.getMessage());}                                                                                                                                                                                        
}
    @GetMapping(value =  "/pay/error")public ResultData<Integer> getPayError(){Integer i = Integer.valueOf(200);try{System.out.println("com in payerror test");int age = 10/0;}catch (Exception e){return ResultData.fail(ReturnCodeEnum.RC500.getCode(), e.getMessage());}return ResultData.success(i);}

http://www.dtcms.com/wzjs/121169.html

相关文章:

  • 网站如何做压力测试廊坊seo管理
  • 嘉兴公司做网站网站优化排名易下拉效率
  • 台州模板网建站网站建设选亿企网络
  • 网站制作插入图市场调研报告3000字范文
  • b2c的典型代表哈尔滨seo关键词排名
  • 建站经验 网站建设学院抖音关键词排名优化
  • 怎么做网站上的模拟动画公司想建个网站怎么弄
  • 设备做外贸哪个网站好拉新推广怎么找渠道
  • 贵阳市做网站电话南宁一站网网络技术有限公司
  • 做网站要学什么知识建站合肥网络公司seo
  • 优品ppt模板网官网抖音搜索seo排名优化
  • 书画网站模板宁波网站推广怎么做
  • 用自己的计算机做服务器建网站长沙优化科技有限公司正规吗
  • 网站开发方案目录torrentkitty磁力搜索引擎
  • 网站框架有哪些seo哪个软件好
  • 网站的后台建设seo双标题软件
  • 手机网站开发相关问题网站整站优化公司
  • 怎样创建自己的网站搜索引擎广告推广
  • 网页制作与网站设计论文全国最新疫情最新消息
  • 沈阳免费做网站天津网站策划
  • 怎么在网站上做游戏代练4p营销理论
  • 招标网有哪些宿州百度seo排名软件
  • 什么网站做电子元器件自己建网站怎么推广
  • 不要营业执照的做网站河南网站优化公司哪家好
  • 猎头做单都有什么网站广州网络推广定制
  • 爱站seo排名可以做哪些网站怎样才能在百度上发布信息
  • 最新网站备案最近国内新闻
  • 久久建设集团有限公司北京seo做排名
  • 网站建设价位高有低大金seo
  • 网站做动态图片大全小吴seo博客