nginx、swagger(苍穹外码)

nginx的一些使用

nginx开启和关闭
参考文章:

https://blog.csdn.net/qq_20236937/article/details/131654981?ops_request_misc=&request_id=&biz_id=102&utm_term=nignx%E5%A6%82%E4%BD%95%E5%85%B3%E9%97%AD&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-131654981.142^v100^pc_search_result_base8&spm=1018.2226.3001.4187

nginx: 反向代理,就是将前端发送的动态请求有nginx转发到后端服务器。
浏览器请求 ——> nginx ——> 后端服务

为什么要反向代理?
个人理解:
前端的请求可以直接发送到后端,请求后端的服务。
但这样做有一些弊端
1. 暴露了后端服务地址。
2. 不好做负载均衡。
这些弊端恰好是使用nginx的好处。
使用nginx的好处:
1. 提高访问速度,nginx可以做一些缓存。nginx可以快速地提供静态文件(图片、css等)的服务,通过内置的http缓存机制显著减少对后端服务的请求。
2. 负载均衡。将请求有效地转发多个后端服务器。当你有多个后端服务器时,可以按照一定的策略,将请求发送给相应的服务器,做到负载均衡。
3. 保证后端服务的安全,避免被网络攻击。

nginx是一部分服务的抽取封装。当一个系统的用户足够多之后,即使没有nginx,我们在前端发送请求时,也会考虑服务器的负载均衡和其他问题。如果在前端代码中直接做这件事,那么几乎要对每个请求做相同的处理,增加大量重复代码。
那么可以利用AOP的思想,将代理服务写成一个切面,减少重复代码,同时可以增加代理的扩展性。

swagger

接口测试工具
Knife4j 是一款基于 Swagger 的API文档生成和管理工具,它提供了一些额外的功能和优化,以增强 Swagger 原生功能的体验。
使用:

引入依赖

			<dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>3.0.2</version>
            </dependency>

配置类

@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {

    // @Autowired
    // private JwtTokenAdminInterceptor jwtTokenAdminInterceptor;

    /**
     * 注册自定义拦截器
     *
     * @param registry
     */
     /**
    protected void addInterceptors(InterceptorRegistry registry) {
        log.info("开始注册自定义拦截器...");
        registry.addInterceptor(jwtTokenAdminInterceptor)
                .addPathPatterns("/admin/**")
                .excludePathPatterns("/admin/employee/login");
    }
	*/
    /**
     * 通过knife4j生成接口文档
     * @return
     */
    @Bean
    public Docket docket() {
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("项目接口文档")
                .version("2.0")
                .description("项目接口文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("改成自己的"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

    /**
     * 设置静态资源映射
     * @param registry
     */
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值