Files
java-tutorials/spark-java/src/main/java/com/baeldung/sparkjava/SparkRestExample.java
T

65 lines
2.3 KiB
Java
Raw Normal View History

2017-01-20 07:44:30 +05:30
package com.baeldung.sparkjava;
import static spark.Spark.delete;
import static spark.Spark.get;
import static spark.Spark.options;
import static spark.Spark.post;
import static spark.Spark.put;
import com.google.gson.Gson;
public class SparkRestExample {
public static void main(String[] args) {
final UserService userService = new UserServiceMapImpl();
2017-01-29 15:57:30 +02:00
2017-01-20 07:44:30 +05:30
post("/users", (request, response) -> {
response.type("application/json");
2017-01-29 15:57:30 +02:00
2017-01-20 07:44:30 +05:30
User user = new Gson().fromJson(request.body(), User.class);
userService.addUser(user);
return new Gson().toJson(new StandardResponse(StatusResponse.SUCCESS));
});
get("/users", (request, response) -> {
response.type("application/json");
2017-01-29 15:57:30 +02:00
return new Gson().toJson(new StandardResponse(StatusResponse.SUCCESS, new Gson().toJsonTree(userService.getUsers())));
2017-01-20 07:44:30 +05:30
});
get("/users/:id", (request, response) -> {
response.type("application/json");
2017-01-29 15:57:30 +02:00
return new Gson().toJson(new StandardResponse(StatusResponse.SUCCESS, new Gson().toJsonTree(userService.getUser(request.params(":id")))));
2017-01-20 07:44:30 +05:30
});
put("/users/:id", (request, response) -> {
response.type("application/json");
2017-01-29 15:57:30 +02:00
2017-01-20 07:44:30 +05:30
User toEdit = new Gson().fromJson(request.body(), User.class);
User editedUser = userService.editUser(toEdit);
2017-01-29 15:57:30 +02:00
2017-01-20 07:44:30 +05:30
if (editedUser != null) {
2017-01-29 15:57:30 +02:00
return new Gson().toJson(new StandardResponse(StatusResponse.SUCCESS, new Gson().toJsonTree(editedUser)));
} else {
return new Gson().toJson(new StandardResponse(StatusResponse.ERROR, new Gson().toJson("User not found or error in edit")));
2017-01-20 07:44:30 +05:30
}
});
delete("/users/:id", (request, response) -> {
response.type("application/json");
2017-01-29 15:57:30 +02:00
2017-01-20 07:44:30 +05:30
userService.deleteUser(request.params(":id"));
2017-01-29 15:57:30 +02:00
return new Gson().toJson(new StandardResponse(StatusResponse.SUCCESS, "user deleted"));
2017-01-20 07:44:30 +05:30
});
options("/users/:id", (request, response) -> {
response.type("application/json");
2017-01-29 15:57:30 +02:00
return new Gson().toJson(new StandardResponse(StatusResponse.SUCCESS, (userService.userExist(request.params(":id"))) ? "User exists" : "User does not exists"));
2017-01-20 07:44:30 +05:30
});
}
}