diff --git a/src/main/java/org/ntlab/acanthus_server/entities/AccountJson.java b/src/main/java/org/ntlab/acanthus_server/entities/AccountJson.java new file mode 100644 index 0000000..0726e9c --- /dev/null +++ b/src/main/java/org/ntlab/acanthus_server/entities/AccountJson.java @@ -0,0 +1,16 @@ +package org.ntlab.acanthus_server.entities; + +//----------------------------------------------------------------- +// アカウント一覧取得用のJsonクラス +public class AccountJson { + private Integer uid; + private String name; + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + public AccountJson(Integer uid, String name){ + this.uid = uid; + this.name = name; + } + //----------------------------------------------------------------- +} 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 69d7202..45fbb7a 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 @@ -2,6 +2,7 @@ import org.apache.catalina.loader.WebappClassLoader; import org.ntlab.acanthus_server.entities.Account; +import org.ntlab.acanthus_server.entities.AccountJson; import org.ntlab.acanthus_server.models.Accounts; import org.springframework.stereotype.Component; @@ -18,19 +19,40 @@ //----------------------------------------------------------------- // GET //----------------------------------------------------------------- - // すべてのアカウントを返す + // すべてのアカウント情報を返す + /** + * @param name ユーザー名 + */ @GET @Produces(MediaType.APPLICATION_JSON) - public Collection getAccounts(@QueryParam("name") String name) { + public Collection getAccounts(@QueryParam("name") String name) { + + var accountJsonList = new ArrayList(); // 名前の一致するアカウントを返す - if (name != null) return accounts.getAccountsByName(name); - - return accounts.getAllAccounts(); + if (name != null){ + for(var account : accounts.getAccountsByName(name)) { + var newAccountJson = new AccountJson(account.getUid(), account.getName()); + accountJsonList.add(newAccountJson); + } + } + // 全アカウントの取得 + else{ + for(var account : accounts.getAllAccounts()) { + var newAccountJson = new AccountJson(account.getUid(), account.getName()); + accountJsonList.add(newAccountJson); + } + } + return accountJsonList; } //----------------------------------------------------------------- - // 固有の + // Uidで個人のアカウント情報を取得する + // 個人情報の開示をするので, トークンあり + /** + * @param uidStr ユーザーIDの文字列 + * @param token トークン + */ @GET @Path("/{uid}") @Produces(MediaType.APPLICATION_JSON) @@ -44,12 +66,10 @@ return searchAccount; } - //----------------------------------------------------------------- // POST //----------------------------------------------------------------- // アカウントの新規作成 - /** * @param name ユーザー名 * @param email メアド @@ -72,6 +92,6 @@ return newAccount.getUid(); } - + //----------------------------------------------------------------- }