ruoyi 前后分离 建模块
时间: 2023-08-12 11:02:33 浏览: 50
RuoYi 是一个Java开源的快速开发框架,它采用了前后端分离的架构。所谓前后端分离,就是将前端和后端的开发分离成两个独立的模块。
在RuoYi中,前端模块主要负责用户的交互和展示,而后端模块则负责数据的处理和逻辑的实现。前端模块一般采用HTML、CSS、JavaScript等技术来实现页面的布局和样式,以及响应用户的操作请求。后端模块一般采用Java语言来实现功能的具体实现,包括数据的访问、处理和业务逻辑的实现等。
通过前后端分离的设计,RuoYi可以实现前端与后端的解耦,使得前后端可以独立开发和部署。前端可以根据自己的需求进行灵活的展示和交互设计,而后端可以独立实现业务逻辑和数据处理,增强了系统的扩展性和维护性。
建模块是指在前后端分离的基础上,根据业务需求进行模块划分和设计。在RuoYi中,可以按照功能或业务模块进行划分,每个模块负责一部分特定的功能或业务。这样的设计可以使系统结构更加清晰,各个模块之间的耦合度降低,提高了开发效率和代码复用性。
总之,RuoYi的前后端分离架构和建模块的设计,使系统更加灵活和可维护,为开发者提供了良好的开发体验和系统性能。
相关问题
ruoyi前后端分离访问swagger
ruoyi的前后端分离可以通过以下步骤访问swagger。
1. 后端配置
在ruoyi-admin模块中的Swagger2Config类中,将api-docs的访问路径设置为全局跨域访问:
```
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.**.controller"))
.paths(PathSelectors.any())
.build()
.pathMapping("/")
.directModelSubstitute(LocalDate.class, String.class)
.genericModelSubstitutes(ResponseEntity.class)
.useDefaultResponseMessages(false)
.enableUrlTemplating(true)
.globalResponseMessage(RequestMethod.GET, responseMessages())
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
.enable(true);
}
private List<ResponseMessage> responseMessages() {
List<ResponseMessage> responseMessages = new ArrayList<>();
responseMessages.add(new ResponseMessageBuilder().code(404).message("资源不存在").build());
responseMessages.add(new ResponseMessageBuilder().code(400).message("请求参数错误").build());
responseMessages.add(new ResponseMessageBuilder().code(500).message("服务器内部错误").build());
return responseMessages;
}
private List<ApiKey> securitySchemes() {
List<ApiKey> apiKeyList = new ArrayList<>();
apiKeyList.add(new ApiKey("token", "token", "header"));
return apiKeyList;
}
private List<SecurityContext> securityContexts() {
List<SecurityContext> securityContexts = new ArrayList<>();
securityContexts.add(SecurityContext.builder()
.securityReferences(defaultAuth())
.forPaths(PathSelectors.regex("^(?!auth).*$"))
.build());
return securityContexts;
}
List<SecurityReference> defaultAuth() {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
return new ArrayList<>(Arrays.asList(
new SecurityReference("token", authorizationScopes)));
}
```
2. 前端配置
在ruoyi-admin模块的/src/main/resources/application.yml文件中,添加以下配置:
```
cors:
allowed-origins: '*'
allowed-methods: GET, POST, PUT, DELETE, OPTIONS
allowed-headers: '*'
exposed-headers: Authorization, Token, Content-Disposition
max-age: 1800
```
3. 访问swagger
然后,在浏览器中访问`http://localhost:8080/swagger-ui.html`,即可访问swagger。如果出现跨域问题,可以参考以上配置进行调整。
ruoyi前后端分离后台管理系统都引用了哪些技术
Ruoyi前后端分离后台管理系统使用了以下技术:
前端技术栈:
- Vue.js:一套构建用户界面的渐进式框架。
- Element UI:基于 Vue.js 的桌面端 UI 组件库,提供了丰富的组件和功能,易于使用和扩展。
- Axios:一个基于 Promise 的 HTTP 库,用于浏览器和 Node.js 的 AJAX 请求。
- Vuex:Vue.js 的状态管理模式和库,用于管理应用程序中的多个组件之间的共享状态。
- Vue Router:Vue.js 官方的路由管理器,用于管理单页应用程序中的路由。
- Webpack:一个模块打包工具,用于将多个 JavaScript 文件打包成单个文件。
后端技术栈:
- Spring Boot:一个用于构建独立的、生产级别的 Spring 应用程序的框架。
- MyBatis:一个优秀的持久层框架,支持自定义 SQL、存储过程和高级映射。
- Shiro:一个强大且易于使用的 Java 安全框架,提供了身份验证、授权、加密和会话管理等功能。
- Redis:一个开源的内存数据结构存储系统,用于提高应用程序性能和可扩展性。
- Swagger:一个用于描述、生产、消费 RESTful API 的工具集,可以生成文档和测试代码。
- Logback:一个基于 Java 的日志框架,用于记录应用程序的运行日志。