diff --git a/src/main/java/org/ntlab/acanthus_server/entities/Account.java b/src/main/java/org/ntlab/acanthus_server/entities/Account.java index 5ffe796..f9d423f 100644 --- a/src/main/java/org/ntlab/acanthus_server/entities/Account.java +++ b/src/main/java/org/ntlab/acanthus_server/entities/Account.java @@ -23,7 +23,6 @@ import java.util.UUID; public class Account { - private int uid; private String name; private String email; private String token; @@ -38,18 +37,6 @@ //----------------------------------------------------------------- //----------------------------------------------------------------- - //uidを返す - //GetとSetを実装 - public int getUid() { - return uid; - } - - //----------------------------------------------------------------- - public void setUid(int uid) { - this.uid = uid; - } - - //----------------------------------------------------------------- //tokenを返す //GetとSetを実装 public String getToken() { @@ -57,7 +44,7 @@ } //----------------------------------------------------------------- - // トークンを生成する + // トークンを生成する 藤井 public void createToken() { this.token = UUID.randomUUID().toString(); } @@ -84,4 +71,5 @@ } + } diff --git a/src/main/java/org/ntlab/acanthus_server/models/Accounts.java b/src/main/java/org/ntlab/acanthus_server/models/Accounts.java index befa65e..e4eda11 100644 --- a/src/main/java/org/ntlab/acanthus_server/models/Accounts.java +++ b/src/main/java/org/ntlab/acanthus_server/models/Accounts.java @@ -2,7 +2,9 @@ import org.ntlab.acanthus_server.entities.Account; +import java.util.Collection; import java.util.HashMap; +import java.util.Random; /* * アカウント管理シングルトン @@ -44,5 +46,16 @@ return null; } //----------------------------------------------------------------- + //accountを全て返す + public Collection getAllAccounts(){ + return _accountHashMap.values(); + } + //accountを追加する + public int resistAccount(String name, String email, String password){ + var newAccount = new Account(name, email, password); + var uid = new Random().nextInt(); + _accountHashMap.put(uid,newAccount); + return uid; + } } diff --git a/src/main/java/org/ntlab/acanthus_server/resources/accounts/AccountsRest.java b/src/main/java/org/ntlab/acanthus_server/resources/accounts/AccountsRest.java index 1dbd7da..9128c74 100644 --- a/src/main/java/org/ntlab/acanthus_server/resources/accounts/AccountsRest.java +++ b/src/main/java/org/ntlab/acanthus_server/resources/accounts/AccountsRest.java @@ -1,4 +1,26 @@ package org.ntlab.acanthus_server.resources.accounts; +import org.ntlab.acanthus_server.entities.Account; +import org.ntlab.acanthus_server.models.Accounts; +import org.springframework.stereotype.Component; + +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; +import java.util.Collection; + +@Component +@Path("/accounts") public class AccountsRest { + private Accounts accounts = Accounts.getInstance(); + @GET + @Produces(MediaType.APPLICATION_JSON) + public Collection getAccounts(@QueryParam("uid") int uid, @QueryParam("token") String token) { + return accounts.getAllAccounts(); + } + @POST + @Produces(MediaType.APPLICATION_JSON) + public int createAccount(@FormParam("name") String name , @FormParam("email") String email, @FormParam("password") String password){ + return accounts.resistAccount(name,email,password); + } + }