diff --git a/server/build.gradle b/server/build.gradle index faf03d4..3ac4ccc 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -12,10 +12,10 @@ plugins { id 'checkstyle' } -// Build and run the project with Java 17 +// Build and run the project with Java 21 java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(21) } } @@ -29,7 +29,7 @@ repositories { // External dependencies that our application utilizes dependencies { // Javalin, a simple web framework for Java - implementation 'io.javalin:javalin:5.6.3' + implementation 'io.javalin:javalin:6.3.0' // Jackson, a JSON library for Java implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.2' diff --git a/server/src/main/java/umm3601/Server.java b/server/src/main/java/umm3601/Server.java index 2c2b6eb..c5506db 100644 --- a/server/src/main/java/umm3601/Server.java +++ b/server/src/main/java/umm3601/Server.java @@ -5,7 +5,6 @@ import io.javalin.Javalin; import io.javalin.http.InternalServerErrorResponse; import io.javalin.http.staticfiles.Location; -import io.javalin.plugin.bundled.RouteOverviewPlugin; public class Server { @@ -78,7 +77,7 @@ private Javalin configureJavalin() { // This adds a Javalin plugin that will list all of the // routes/endpoints that we add below on a page reachable // via the "/api" path. - config.plugins.register(new RouteOverviewPlugin("/api")); + config.bundledPlugins.enableRouteOverview("/api"); }); // This catches any uncaught exceptions thrown in the server diff --git a/server/src/main/java/umm3601/user/User.java b/server/src/main/java/umm3601/user/User.java index 7c63a00..8fe3e64 100644 --- a/server/src/main/java/umm3601/user/User.java +++ b/server/src/main/java/umm3601/user/User.java @@ -26,4 +26,18 @@ public class User { public int age; public String company; public String email; + + // Having some kind of `toString()` allows us to print `User`s, + // which can be useful/necessary in error handling. This only + // returns the name, but it could be extended to return more or + // all of the fields combined into a single string. + // + // The other option would be to return `_id`, but that can be + // `null` if we're trying to add a new `User` to the database + // that doesn't yet have an `_id`, so returning `name` seemed + // the better bet. + @Override + public String toString() { + return name; + } }