diff --git a/build.gradle b/build.gradle index 684d888..7acb447 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,11 @@ } dependencies { - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.11.0' + compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.11.0' + compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.11.0' + + implementation 'org.springframework.boot:spring-boot-starter-jersey' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation('org.springframework.boot:spring-boot-starter-test') { diff --git a/src/main/java/org/ntlab/amaryllis/server/JerseyConfig.java b/src/main/java/org/ntlab/amaryllis/server/JerseyConfig.java new file mode 100644 index 0000000..c63f6f5 --- /dev/null +++ b/src/main/java/org/ntlab/amaryllis/server/JerseyConfig.java @@ -0,0 +1,11 @@ +package org.ntlab.amaryllis.server; +import org.glassfish.jersey.server.ResourceConfig; +import org.springframework.stereotype.Component; +import javax.ws.rs.ApplicationPath; + +@Component +public class JerseyConfig extends ResourceConfig { + public JerseyConfig() { + packages("org.ntlab.amaryllis.server.resources"); + } +} \ No newline at end of file diff --git a/src/main/java/org/ntlab/amaryllis/server/resources/Account.java b/src/main/java/org/ntlab/amaryllis/server/resources/Account.java new file mode 100644 index 0000000..97e7fa9 --- /dev/null +++ b/src/main/java/org/ntlab/amaryllis/server/resources/Account.java @@ -0,0 +1,24 @@ +package org.ntlab.amaryllis.server.resources; + +import java.util.ArrayList; + +public class Account { + private String uid; + private String name; + private String token; + private String password; + private String introduction; + private ArrayList followings; + private ArrayList followers; + private ArrayList history; + private ArrayList contributions; + public Account(String name,String password){ + this.name=name; + this.password=password; + followings=new ArrayList<>(); + followers=new ArrayList<>(); + history=new ArrayList<>(); + contributions=new ArrayList<>(); + } + +} diff --git a/src/main/java/org/ntlab/amaryllis/server/resources/AccountsRest.java b/src/main/java/org/ntlab/amaryllis/server/resources/AccountsRest.java new file mode 100644 index 0000000..85c4b38 --- /dev/null +++ b/src/main/java/org/ntlab/amaryllis/server/resources/AccountsRest.java @@ -0,0 +1,35 @@ +package org.ntlab.amaryllis.server.resources; + + +import org.springframework.stereotype.Component; + +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.Path; + +import java.util.ArrayList; + +@Component +@Path("/accounts") +public class AccountsRest { + private ArrayList accounts; + + @GET + public String getAccounts(){ + ObjectMapper mapper =new ObjectMapper(); + String json=""; + try{ + Message message=new Message(); + message.setMessage("success"); + json=mapper.writeValueAsString(message); + }catch (IOException e) { + e.printStackTrace(); + System.out.println("failed"); + } + System.out.println(json); + return json; + } + +} \ No newline at end of file diff --git a/src/main/java/org/ntlab/amaryllis/server/resources/Message.java b/src/main/java/org/ntlab/amaryllis/server/resources/Message.java new file mode 100644 index 0000000..c137a5f --- /dev/null +++ b/src/main/java/org/ntlab/amaryllis/server/resources/Message.java @@ -0,0 +1,44 @@ + +package org.ntlab.amaryllis.server.resources; + +import java.util.HashMap; +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "message" +}) +public class Message { + + @JsonProperty("message") + private String message; + @JsonIgnore + private Map additionalProperties = new HashMap(); + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @JsonProperty("message") + public void setMessage(String message) { + this.message = message; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperty(String name, Object value) { + this.additionalProperties.put(name, value); + } + +} \ No newline at end of file