diff --git a/src/main/java/org/ntlab/tampoposerver/resources/UsersResource.java b/src/main/java/org/ntlab/tampoposerver/resources/UsersResource.java index ddea638..41f7c43 100644 --- a/src/main/java/org/ntlab/tampoposerver/resources/UsersResource.java +++ b/src/main/java/org/ntlab/tampoposerver/resources/UsersResource.java @@ -333,6 +333,7 @@ } //フレンド相手の情報の取得 + //TODO:何も返さないので後で実装する @GET @Path("/{user-id}/friends") @Produces(MediaType.APPLICATION_JSON) @@ -362,12 +363,12 @@ } return Response - .ok() + .ok(friendIds, MediaType.APPLICATION_JSON) .build(); } - //自分のペアのpid一覧(JSON)の取得 + //フレンド相手の情報を取得 @GET @Path("/{user-id}/friends/{pair-id}") @Produces(MediaType.APPLICATION_JSON) @@ -391,8 +392,25 @@ ArrayList pairIds = user.getFriendPairs(); + //pairIdsの中からparameterのpair-idで完全一致させてそれをreturnする + int pairIdInt; + try { + pairIdInt = Integer.parseInt(pairId); + } catch (NumberFormatException e) { + throw new WebApplicationException( + Response.status(Response.Status.BAD_REQUEST) + .entity("pair-id は整数で指定してください") + .build()); + } + FriendPair pair = friendService.getFriendPair(token, pairIdInt); + if (pair == null) { + throw new WebApplicationException(Response.Status.NOT_FOUND); + } + + String otherUserId = pair.getUser0Id().equals(userId) ? pair.getUser1Id() : pair.getUser0Id(); + // JSON で返す - return Response.ok(pairIds).build(); + return Response.ok(otherUserId, MediaType.APPLICATION_JSON).build(); }