added jackson
~1h work
This commit is contained in:
parent
8170a24eec
commit
0a1f96e842
BIN
lib/jackson-annotations-2.13.3.jar
Normal file
BIN
lib/jackson-annotations-2.13.3.jar
Normal file
Binary file not shown.
BIN
lib/jackson-core-2.13.3.jar
Normal file
BIN
lib/jackson-core-2.13.3.jar
Normal file
Binary file not shown.
BIN
lib/jackson-databind-2.13.3.jar
Normal file
BIN
lib/jackson-databind-2.13.3.jar
Normal file
Binary file not shown.
12
mtcg.iml
12
mtcg.iml
@ -7,5 +7,17 @@
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module-library" scope="PROVIDED">
|
||||
<library>
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.30/lombok-1.18.30.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</orderEntry>
|
||||
<orderEntry type="library" name="fasterxml.jackson.core" level="project" />
|
||||
<orderEntry type="library" name="fasterxml.jackson.core.annotations" level="project" />
|
||||
<orderEntry type="library" name="fasterxml.jackson.core.databind" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
@ -1,4 +1,5 @@
|
||||
import at.nanopenguin.mtcg.application.TestService;
|
||||
import at.nanopenguin.mtcg.application.service.TestService;
|
||||
import at.nanopenguin.mtcg.application.service.UserService;
|
||||
import at.nanopenguin.mtcg.http.HttpMethod;
|
||||
import at.nanopenguin.mtcg.http.Router;
|
||||
import at.nanopenguin.mtcg.http.Server;
|
||||
@ -11,10 +12,10 @@ public class Main {
|
||||
router.addRoute(HttpMethod.GET, "/test/{var}/service", new TestService(), new int[]{2});
|
||||
|
||||
/* users */
|
||||
router.addRoute(HttpMethod.POST, "/users", new TestService(), new int[]{});
|
||||
router.addRoute(HttpMethod.GET, "/users/{username}", new TestService(), new int[]{2});
|
||||
router.addRoute(HttpMethod.PUT, "/users/{username}", new TestService(), new int[]{2});
|
||||
router.addRoute(HttpMethod.POST, "/sessions", new TestService(), new int[]{});
|
||||
router.addRoute(HttpMethod.POST, "/users", new UserService(), new int[]{});
|
||||
router.addRoute(HttpMethod.GET, "/users/{username}", new UserService(), new int[]{2});
|
||||
router.addRoute(HttpMethod.PUT, "/users/{username}", new UserService(), new int[]{2});
|
||||
router.addRoute(HttpMethod.POST, "/sessions", new UserService(), new int[]{});
|
||||
|
||||
/* packages */
|
||||
router.addRoute(HttpMethod.POST, "/packages", new TestService(), new int[]{});
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
package at.nanopenguin.mtcg.application;
|
||||
|
||||
import at.nanopenguin.mtcg.http.HttpRequest;
|
||||
import at.nanopenguin.mtcg.http.Response;
|
||||
|
||||
public interface Service {
|
||||
|
||||
Response handleRequest(HttpRequest request);
|
||||
}
|
||||
5
src/at/nanopenguin/mtcg/application/User.java
Normal file
5
src/at/nanopenguin/mtcg/application/User.java
Normal file
@ -0,0 +1,5 @@
|
||||
package at.nanopenguin.mtcg.application;
|
||||
|
||||
public class User {
|
||||
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package at.nanopenguin.mtcg.application;
|
||||
package at.nanopenguin.mtcg.application.service;
|
||||
|
||||
import at.nanopenguin.mtcg.application.service.Service;
|
||||
import at.nanopenguin.mtcg.http.HttpStatus;
|
||||
import at.nanopenguin.mtcg.http.HttpRequest;
|
||||
import at.nanopenguin.mtcg.http.Response;
|
||||
10
src/at/nanopenguin/mtcg/application/service/Service.java
Normal file
10
src/at/nanopenguin/mtcg/application/service/Service.java
Normal file
@ -0,0 +1,10 @@
|
||||
package at.nanopenguin.mtcg.application.service;
|
||||
|
||||
import at.nanopenguin.mtcg.http.HttpRequest;
|
||||
import at.nanopenguin.mtcg.http.Response;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
public interface Service {
|
||||
|
||||
Response handleRequest(HttpRequest request) throws JsonProcessingException;
|
||||
}
|
||||
@ -1,5 +1,6 @@
|
||||
package at.nanopenguin.mtcg.application;
|
||||
package at.nanopenguin.mtcg.application.service;
|
||||
|
||||
import at.nanopenguin.mtcg.application.service.Service;
|
||||
import at.nanopenguin.mtcg.http.HttpRequest;
|
||||
import at.nanopenguin.mtcg.http.HttpStatus;
|
||||
import at.nanopenguin.mtcg.http.Response;
|
||||
24
src/at/nanopenguin/mtcg/application/service/UserService.java
Normal file
24
src/at/nanopenguin/mtcg/application/service/UserService.java
Normal file
@ -0,0 +1,24 @@
|
||||
package at.nanopenguin.mtcg.application.service;
|
||||
|
||||
import at.nanopenguin.mtcg.application.service.schemas.UserCredentials;
|
||||
import at.nanopenguin.mtcg.http.HttpRequest;
|
||||
import at.nanopenguin.mtcg.http.HttpStatus;
|
||||
import at.nanopenguin.mtcg.http.Response;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.ObjectWriter;
|
||||
|
||||
public class UserService implements Service {
|
||||
|
||||
@Override
|
||||
public Response handleRequest(HttpRequest request) throws JsonProcessingException {
|
||||
UserCredentials userCredentials = new UserCredentials("test", "test");
|
||||
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
|
||||
String json = ow.writeValueAsString(userCredentials);
|
||||
|
||||
System.out.println(json);
|
||||
|
||||
return new Response(HttpStatus.OK, "application/json", "");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package at.nanopenguin.mtcg.application.service.schemas;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
|
||||
@JsonSerialize
|
||||
public record UserCredentials(String username, String password) {
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
package at.nanopenguin.mtcg.http;
|
||||
|
||||
import at.nanopenguin.mtcg.application.Service;
|
||||
import at.nanopenguin.mtcg.application.service.Service;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package at.nanopenguin.mtcg.http;
|
||||
|
||||
import at.nanopenguin.mtcg.application.Service;
|
||||
import at.nanopenguin.mtcg.application.service.Service;
|
||||
|
||||
public record Route(Service service, boolean hasPathVariable) {
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package at.nanopenguin.mtcg.http;
|
||||
|
||||
import at.nanopenguin.mtcg.application.Service;
|
||||
import at.nanopenguin.mtcg.application.service.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user