diff options
author | mrfoxygmfr <mrfoxygmfr@sch9.ru> | 2025-04-28 00:44:45 +0300 |
---|---|---|
committer | mrfoxygmfr <mrfoxygmfr@sch9.ru> | 2025-04-28 00:44:45 +0300 |
commit | 763e381e13a02217275367b6daa947833a7f3580 (patch) | |
tree | 53d05e72678ae3d14cf115e9e34a70c18f8da3a3 | |
parent | 52f0f72fb6603aa7df068a04f47a2ff615e44947 (diff) |
feat(http): add http server configuration
-rw-r--r-- | build.gradle.kts | 2 | ||||
-rw-r--r-- | src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/config/HttpConfig.java | 53 |
2 files changed, 55 insertions, 0 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index 8b71ebc..4db3c43 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,6 +30,8 @@ dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-actuator") implementation("io.hypersistence:hypersistence-utils-hibernate-63:3.9.5") + implementation("org.thymeleaf:thymeleaf") + implementation("org.thymeleaf:thymeleaf-spring6") compileOnly("org.projectlombok:lombok") compileOnly("jakarta.persistence:jakarta.persistence-api") diff --git a/src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/config/HttpConfig.java b/src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/config/HttpConfig.java new file mode 100644 index 0000000..35e1ccd --- /dev/null +++ b/src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/config/HttpConfig.java @@ -0,0 +1,53 @@ +package ru.mrfoxygmfr.warehouse_accounting.http.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.ViewResolver; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import org.thymeleaf.spring6.SpringTemplateEngine; +import org.thymeleaf.spring6.view.ThymeleafViewResolver; +import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; + +@Configuration +public class HttpConfig implements WebMvcConfigurer { + + @Bean + public ClassLoaderTemplateResolver templateResolver() { + + var templateResolver = new ClassLoaderTemplateResolver(); + + templateResolver.setPrefix("templates/"); + templateResolver.setCacheable(false); + templateResolver.setSuffix(".html"); + templateResolver.setTemplateMode("HTML"); + templateResolver.setCharacterEncoding("UTF-8"); + + return templateResolver; + } + + @Bean + public SpringTemplateEngine templateEngine() { + + var templateEngine = new SpringTemplateEngine(); + templateEngine.setTemplateResolver(templateResolver()); + + return templateEngine; + } + + @Bean + public ViewResolver viewResolver() { + + var viewResolver = new ThymeleafViewResolver(); + + viewResolver.setTemplateEngine(templateEngine()); + viewResolver.setCharacterEncoding("UTF-8"); + + return viewResolver; + } + + @Override + public void addViewControllers(ViewControllerRegistry registry) { + registry.addViewController("/").setViewName("operations"); + } +} |