51 lines
1.7 KiB
Java
51 lines
1.7 KiB
Java
|
package de.towerdefence.server;
|
||
|
|
||
|
import io.swagger.configuration.LocalDateConverter;
|
||
|
import io.swagger.configuration.LocalDateTimeConverter;
|
||
|
import org.springframework.boot.CommandLineRunner;
|
||
|
import org.springframework.boot.ExitCodeGenerator;
|
||
|
import org.springframework.boot.SpringApplication;
|
||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||
|
import org.springframework.context.annotation.ComponentScan;
|
||
|
import org.springframework.context.annotation.Configuration;
|
||
|
import org.springframework.format.FormatterRegistry;
|
||
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
||
|
|
||
|
import java.io.Serial;
|
||
|
|
||
|
@SpringBootApplication
|
||
|
@ComponentScan(basePackages = { "de.towerdefence.server", "de.towerdefence.server.oas" , "io.swagger.configuration"})
|
||
|
public class ServerApplication implements CommandLineRunner {
|
||
|
|
||
|
@Override
|
||
|
public void run(String... arg0) throws Exception {
|
||
|
if (arg0.length > 0 && arg0[0].equals("exitcode")) {
|
||
|
throw new ExitException();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static void main(String[] args) throws Exception {
|
||
|
new SpringApplication(ServerApplication.class).run(args);
|
||
|
}
|
||
|
|
||
|
@Configuration
|
||
|
static class CustomDateConfig extends WebMvcConfigurationSupport {
|
||
|
@Override
|
||
|
public void addFormatters(FormatterRegistry registry) {
|
||
|
registry.addConverter(new LocalDateConverter("yyyy-MM-dd"));
|
||
|
registry.addConverter(new LocalDateTimeConverter("yyyy-MM-dd'T'HH:mm:ss.SSS"));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static class ExitException extends RuntimeException implements ExitCodeGenerator {
|
||
|
@Serial
|
||
|
private static final long serialVersionUID = 1L;
|
||
|
|
||
|
@Override
|
||
|
public int getExitCode() {
|
||
|
return 10;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|