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

车险网站模版wordpress写文章怎么上传图片

车险网站模版,wordpress写文章怎么上传图片,二手建筑铝模板哪里有卖,网页设计图片是怎么显示的前言 本节内容主要是对webflux项目一些常用功能的介绍#xff0c;例如系统集成swagger接口文档#xff0c;方便接口测试以及前后端项目联调测试#xff1b;使用actuator完成系统各种指标的监控功能#xff1b;系统使用logback日志框架完成项目日志的收集#xff1b;使用过…前言 本节内容主要是对webflux项目一些常用功能的介绍例如系统集成swagger接口文档方便接口测试以及前后端项目联调测试使用actuator完成系统各种指标的监控功能系统使用logback日志框架完成项目日志的收集使用过滤器WebFilter完成一些初始化验证使用CorsWebFilter解决系统的跨域问题使用AOP切面实现功能方法操作日志的打印等。 正文 swagger接口文档集成 ①引入webflux的springdoc文档的pom依赖 !-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webflux-ui -- dependencygroupIdorg.springdoc/groupIdartifactIdspringdoc-openapi-starter-webflux-ui/artifactIdversion2.3.0/version /dependency ②在资源文件application.yaml中配置接口文档访问地址并开启接口文档访问权限enabled: true生产环境可以关闭 springdoc:api-docs:enabled: truepath: /api-docsswagger-ui:enabled: truepath: /swagger-ui/index.htmlshow-actuator: true ③访问swagger文档地址查看集成效果 ④更高级的用法 通过配置GroupedOpenApi分组定义不同的分组匹配规则配置更细粒度的接口分组文档 package com.yundi.atp.config;import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import org.springdoc.core.models.GroupedOpenApi; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class SpringDocConfig {Beanpublic GroupedOpenApi sysOpenApi() {return GroupedOpenApi.builder().group(SpringWebflux-系统管理).pathsToMatch(/user/**, /role/**).build();}Beanpublic GroupedOpenApi actuatorOpenApi() {return GroupedOpenApi.builder().group(SpringWebflux-系统监控).pathsToMatch(/actuator/**).build();}Beanpublic OpenAPI springDocOpenAPI() {return new OpenAPI().info(new Info().title(SpringWebflux API).description(SpringWebflux 案例).version(v1.0.0).license(new License().name(Apache 2.0).url(http://springdoc.org))).externalDocs(new ExternalDocumentation().description(SpringWebflux Wiki Documentation).url(https://springshop.wiki.github.org/docs));}}⑤接口文档分组效果可根据Select a definition切换到不同的文档分组下 actuator监控配置 ①引入actuator监控启动器的pom依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId /dependency ②在资源配置文件application.yaml中配置actuator监控的web访问 management:endpoints:enabled-by-default: true #暴露所有端点信息web:exposure:include: * #以web方式暴露 ③通过swagger接口文档查看actuator监控的web指标接口 logback日志配置 ①在resources资源目录下创建一个logback.xml日志文件定义日志文件的打印格式及规则等 ?xml version1.0 encodingUTF-8? configuration debugfalse!--设置存储路径变量--property nameLOG_HOME valueht-webflux/!--控制台输出appender--appender nameCONSOLE classch.qos.logback.core.ConsoleAppender!--设置输出格式--encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder!--格式化输出%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符--pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n/pattern!--设置编码--charsetUTF-8/charset/encoder/appender!--文件输出,时间窗口滚动--appender nameFILE classch.qos.logback.core.rolling.RollingFileAppender!--日志名,指定最新的文件名其他文件名使用FileNamePattern --File${LOG_HOME}/ht.log/File!--文件滚动模式--rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!--日志文件输出的文件名,可设置文件类型为gz,开启文件压缩--FileNamePattern${LOG_HOME}/%d{yyyy-MM-dd}_%i.log/FileNamePattern!--日志文件保留天数--MaxHistory30/MaxHistory!--按大小分割同一天的--timeBasedFileNamingAndTriggeringPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedFNATPmaxFileSize20MB/maxFileSize/timeBasedFileNamingAndTriggeringPolicy/rollingPolicy!--输出格式--encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder!--格式化输出%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符--pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n/pattern!--设置编码--charsetUTF-8/charset/encoder/appender!--根据环境配置日志--springProfile namedev!-- 打印 日志级别 --root levelINFOappender-ref refCONSOLE/appender-ref refFILE/!-- appender-ref refLOGSTASH/--/root/springProfilespringProfile nametest!-- 打印 日志级别 --root levelINFOappender-ref refCONSOLE/appender-ref refFILE//root/springProfilespringProfile nameprod!--指定基础的日志输出级别--root levelINFO!--appender将会添加到这个logger--appender-ref refCONSOLE/appender-ref refFILE/ !-- appender-ref refLOGSTASH/--/root/springProfile /configuration ②启动项目查看日志输出 过滤器WebFilter整合 ①通过实现WebFilter接口定义一个自定义的web过滤器MyWebFilter并加入spring容器中 package com.yundi.atp.filter;import lombok.extern.slf4j.Slf4j; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.WebFilter; import org.springframework.web.server.WebFilterChain; import reactor.core.publisher.Mono;Component Slf4j public class MyWebFilter implements WebFilter {Overridepublic MonoVoid filter(ServerWebExchange exchange, WebFilterChain chain) {//可以获取请求域ServerHttpRequest request exchange.getRequest();log.info(url:, request.getURI());//可以获取响应域ServerHttpResponse response exchange.getResponse();log.info(--------------请求处理放行到目标方法之前的过滤器业务处理------------);MonoVoid filter chain.filter(exchange);//流一旦经过某个操作就会变成新流MonoVoid mono filter.doOnError(error - {log.info(---------------目标方法异常以后--------------);log.info(error: error);}).doFinally(signalType - {log.info(---------------目标方法执行完成以后--------------);});return mono;} }②访问任意一个接口查看web过滤器是否生效 CorsWebFilter跨域配置 ①配置CorsWebFilter过滤器解决接口请求跨域问题 package com.yundi.atp.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.reactive.CorsWebFilter; import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;Configuration public class MyCorsConfig {Beanpublic CorsWebFilter corsWebFilter() {CorsConfiguration corsConfig new CorsConfiguration();// 允许所有来源corsConfig.addAllowedOrigin(*);// 允许所有HTTP方法corsConfig.addAllowedMethod(*);// 允许所有请求头corsConfig.addAllowedHeader(*);UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration(/**, corsConfig);return new CorsWebFilter(source);} }②查看浏览器响应头中是否包含跨域配置 AOP切面 ①创建一个操作日志的OperateLogAspect切面记录请求方法执行过程日志 package com.yundi.atp.aop;import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.springframework.stereotype.Component; import reactor.core.publisher.Mono;Slf4j Aspect Component public class OperateLogAspect {/*** 切点*/Pointcut(execution(* com.yundi.atp.controller.*.*(..)))public void logPointCut() {}Around(logPointCut())public MonoObject aroundAdvice(ProceedingJoinPoint joinPoint) throws Throwable {// 在方法执行前的逻辑log.info(************************目标方法执行前************************);log.info(args:{},joinPoint.getArgs());// 执行被切入的方法MonoObject result (MonoObject) joinPoint.proceed();// 在方法执行后的逻辑MonoObject mono result.doOnError(error - {log.info(************************目标方法异常以后************************);log.info(error: error);}).doFinally(signalType - {log.info(************************目标方法执行完成以后************************);});return mono;} }② 访问接口验证操作日志切面是否生效 结语 关于springboot3下WebFlux项目的一些常用功能整合的内容到这里就结束了我们下期见。。。。。。
http://www.pierceye.com/news/327701/

相关文章:

  • 做网站导航栏素材图建筑设计网站制作
  • 淘宝的网站建设方案国家为何要求所有网站均须备案
  • 企业网站模板下载哪家公司强温州建设公司网站
  • 网站编辑能在家做wordpress 做的商城
  • 空间信息网站开发公司工程项目质量安全管理体系
  • 网站流量被黑包装回收网站建设
  • 网站拒绝被百度收录成品网站1688特色
  • 深圳住房和建设局网站官网打不开WordPress 斗鱼
  • 纯文本网站连接西宁圆井模板我自己做的网站
  • 职业院校专题建设网站wordpress文章版权投诉
  • 网站改版好吗如何解决旅游网站建设问题
  • 爱站网使用的是什么网站模仿网站页面违法吗
  • 做民宿的网站wordpress 短信平台
  • 婚恋网站上认识人 带你做原油交易怎么用手机创造网站
  • 网站建设投标书服务方案范本天津北京网站建设公司
  • 网站建设好评公司微企点建站怎么样
  • 某网站开发项目成本估计推广普通话作文500字
  • 制作网站需要哪些工作网站建设佰金手指科杰十三
  • 外贸哪家做网站wordpress excel搜索
  • 苏州做网站推广的英文搜索网站
  • 政务微网站建设方案深圳市易捷网络科技有限公司
  • 云南网站建设哪家好长沙网站建设营销
  • 四川省建设厅注册中心网站网站管理内容
  • 百度提交网站wordpress广告设置
  • 余姚市城乡建设局网站石家庄上门足疗
  • 深圳工程造价建设信息网站php网站建设题目
  • 龙岗网站制作织梦整合wordpress
  • 代做效果图网站哪家好汉中市建设局网站
  • 东阳海天建设集团网站网站蜘蛛爬行统计
  • asp企业网站cms北京大型网站建设公司