Move to Jackson for default json
All checks were successful
Deploy App / docker (ubuntu-latest, 2.44.0, 17, 3.8.5) (push) Successful in 1m25s
All checks were successful
Deploy App / docker (ubuntu-latest, 2.44.0, 17, 3.8.5) (push) Successful in 1m25s
This commit is contained in:
8
pom.xml
8
pom.xml
@ -64,14 +64,6 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
|
||||
<!-- Exclude the default Jackson dependency -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-json</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Redis for caching -->
|
||||
|
@ -28,7 +28,6 @@ import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.Files;
|
||||
@ -38,7 +37,7 @@ import java.util.Objects;
|
||||
/**
|
||||
* @author Braydon
|
||||
*/
|
||||
@SpringBootApplication(exclude = { JacksonAutoConfiguration.class })
|
||||
@SpringBootApplication
|
||||
@Slf4j(topic = "RESTfulMC")
|
||||
public class RESTfulMC {
|
||||
@SneakyThrows
|
||||
|
@ -38,11 +38,6 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.info.BuildProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
import org.springframework.http.converter.json.GsonHttpMessageConverter;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* The configuration for the app.
|
||||
@ -50,7 +45,7 @@ import java.util.List;
|
||||
* @author Braydon
|
||||
*/
|
||||
@Configuration @Getter
|
||||
public class AppConfig implements WebMvcConfigurer {
|
||||
public class AppConfig {
|
||||
public static AppConfig INSTANCE;
|
||||
public static final Gson GSON = new GsonBuilder()
|
||||
.setDateFormat("MM-dd-yyyy HH:mm:ss")
|
||||
@ -93,27 +88,4 @@ public class AppConfig implements WebMvcConfigurer {
|
||||
.info(info)
|
||||
.addServersItem(new Server().url(serverPublicUrl).description("The public server URL"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the default HTTP
|
||||
* message converters to use Gson.
|
||||
*
|
||||
* @param converters the converters
|
||||
*/
|
||||
@Override
|
||||
public void configureMessageConverters(@NonNull List<HttpMessageConverter<?>> converters) {
|
||||
GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter();
|
||||
gsonHttpMessageConverter.setGson(gson());
|
||||
converters.add(gsonHttpMessageConverter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Our custom Gson instance to use.
|
||||
*
|
||||
* @return the Gson instance
|
||||
*/
|
||||
@Bean @NonNull
|
||||
public Gson gson() {
|
||||
return GSON;
|
||||
}
|
||||
}
|
@ -23,6 +23,7 @@
|
||||
*/
|
||||
package me.braydon.mc.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import lombok.*;
|
||||
import me.braydon.mc.common.ColorUtils;
|
||||
import me.braydon.mc.service.pinger.MinecraftServerPinger;
|
||||
@ -67,7 +68,7 @@ public class MinecraftServer {
|
||||
/**
|
||||
* Player count data for a server.
|
||||
*/
|
||||
@AllArgsConstructor @Getter @ToString
|
||||
@AllArgsConstructor @Getter @ToString @JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class Players {
|
||||
/**
|
||||
* The online players on this server.
|
||||
|
@ -23,6 +23,7 @@
|
||||
*/
|
||||
package me.braydon.mc.model;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import lombok.*;
|
||||
import org.springframework.data.annotation.Id;
|
||||
|
||||
@ -35,7 +36,7 @@ import java.util.UUID;
|
||||
*/
|
||||
@AllArgsConstructor @Getter
|
||||
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
||||
@ToString
|
||||
@ToString @JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class Player {
|
||||
/**
|
||||
* The unique id of this player.
|
||||
|
@ -101,7 +101,11 @@ public final class Skin {
|
||||
*/
|
||||
@AllArgsConstructor @Getter @ToString
|
||||
public enum Part {
|
||||
HEAD(8, 8, ImageUtils.SKIN_TEXTURE_SIZE / 8, ImageUtils.SKIN_TEXTURE_SIZE / 8);
|
||||
HEAD_TOP(8, 0, ImageUtils.SKIN_TEXTURE_SIZE / 8, ImageUtils.SKIN_TEXTURE_SIZE / 8),
|
||||
FACE(8, 8, ImageUtils.SKIN_TEXTURE_SIZE / 8, ImageUtils.SKIN_TEXTURE_SIZE / 8),
|
||||
HEAD_LEFT(0, 8, ImageUtils.SKIN_TEXTURE_SIZE / 8, ImageUtils.SKIN_TEXTURE_SIZE / 8),
|
||||
HEAD_RIGHT(16, 8, ImageUtils.SKIN_TEXTURE_SIZE / 8, ImageUtils.SKIN_TEXTURE_SIZE / 8),
|
||||
HEAD_BOTTOM(8, 8, ImageUtils.SKIN_TEXTURE_SIZE / 8, ImageUtils.SKIN_TEXTURE_SIZE / 8);
|
||||
|
||||
/**
|
||||
* The coordinates of this part.
|
||||
|
@ -23,6 +23,7 @@
|
||||
*/
|
||||
package me.braydon.mc.model.cache;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.*;
|
||||
import me.braydon.mc.model.MinecraftServer;
|
||||
import org.springframework.data.annotation.Id;
|
||||
@ -39,7 +40,7 @@ public final class CachedMinecraftServer implements Serializable {
|
||||
/**
|
||||
* The id of this cached server.
|
||||
*/
|
||||
@Id @NonNull private transient final String id;
|
||||
@Id @JsonIgnore @NonNull private final String id;
|
||||
|
||||
/**
|
||||
* The cached server.
|
||||
|
@ -34,9 +34,9 @@ import me.braydon.mc.model.MinecraftServer;
|
||||
@Getter @ToString(callSuper = true) @EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true)
|
||||
public final class BedrockMinecraftServer extends MinecraftServer {
|
||||
/**
|
||||
* The unique ID of this server.
|
||||
* The ID of this server.
|
||||
*/
|
||||
@EqualsAndHashCode.Include @NonNull private final String uniqueId;
|
||||
@EqualsAndHashCode.Include @NonNull private final String id;
|
||||
|
||||
/**
|
||||
* The edition of this server.
|
||||
@ -53,11 +53,11 @@ public final class BedrockMinecraftServer extends MinecraftServer {
|
||||
*/
|
||||
@NonNull private final GameMode gamemode;
|
||||
|
||||
private BedrockMinecraftServer(@NonNull String uniqueId, @NonNull String hostname, String ip, int port,
|
||||
private BedrockMinecraftServer(@NonNull String id, @NonNull String hostname, String ip, int port,
|
||||
@NonNull Edition edition, @NonNull Version version, @NonNull Players players,
|
||||
@NonNull MOTD motd, @NonNull GameMode gamemode) {
|
||||
super(hostname, ip, port, players, motd);
|
||||
this.uniqueId = uniqueId;
|
||||
this.id = id;
|
||||
this.edition = edition;
|
||||
this.version = version;
|
||||
this.gamemode = gamemode;
|
||||
|
@ -23,6 +23,7 @@
|
||||
*/
|
||||
package me.braydon.mc.model.server;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
import lombok.*;
|
||||
import me.braydon.mc.common.JavaMinecraftVersion;
|
||||
@ -38,7 +39,7 @@ import net.md_5.bungee.chat.ComponentSerializer;
|
||||
*
|
||||
* @author Braydon
|
||||
*/
|
||||
@Setter @Getter @ToString(callSuper = true)
|
||||
@Setter @Getter @ToString(callSuper = true) @JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public final class JavaMinecraftServer extends MinecraftServer {
|
||||
/**
|
||||
* The version information of this server.
|
||||
@ -114,7 +115,7 @@ public final class JavaMinecraftServer extends MinecraftServer {
|
||||
/**
|
||||
* Version information for a server.
|
||||
*/
|
||||
@AllArgsConstructor @Getter @ToString
|
||||
@AllArgsConstructor @Getter @ToString @JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class Version {
|
||||
/**
|
||||
* The version name of the server.
|
||||
|
@ -169,7 +169,7 @@ public final class MojangService {
|
||||
}
|
||||
Skin.Part part = EnumUtils.getEnumConstant(Skin.Part.class, partName.toUpperCase()); // The skin part to get
|
||||
if (part == null) { // Default to the head part
|
||||
part = Skin.Part.HEAD;
|
||||
part = Skin.Part.FACE;
|
||||
}
|
||||
if (extension.isBlank()) { // Invalid extension
|
||||
throw new BadRequestException("Invalid extension");
|
||||
|
Reference in New Issue
Block a user