diff --git a/src/main/java/org/ntlab/tampoposerver/resources/ActivitiesResource.java b/src/main/java/org/ntlab/tampoposerver/resources/ActivitiesResource.java index 1c9c48a..e4d19c9 100644 --- a/src/main/java/org/ntlab/tampoposerver/resources/ActivitiesResource.java +++ b/src/main/java/org/ntlab/tampoposerver/resources/ActivitiesResource.java @@ -30,22 +30,33 @@ @GET //アカウントの全アクティビティを取得 public Response getActivities(@PathParam("user-id") String userId, @QueryParam("filter") String filter) { - //失敗 - //400(ユーザーnull or 空だったら) + + //400(ユーザーIDがnull or 空) if (userId == null || userId.isEmpty()) { - var response = Response.status(Response.Status.BAD_REQUEST).entity("不正なリクエスト"); - throw new WebApplicationException(response.build()); +// var response = Response.status(Response.Status.BAD_REQUEST).entity("不正なリクエスト"); +// throw new WebApplicationException(response.build()); + return Response.status(Response.Status.BAD_REQUEST).build(); } HashMap activities = activityRepository.getActivitiesForUser(userId); - //404(アクティビティが存在しないとき) - if (activities == null) { //取得した最新のアクティビティがnullのとき + //404(取得したアクティビティがnull) + if (activities == null) { var response = Response.status(Response.Status.NOT_FOUND).entity("アクティビティが存在しません"); throw new WebApplicationException(response.build()); } - //200(アカウントの全アクティビティを取得) + /* + 500(予期せぬエラー) + spring bootが500を返してくれるからコードなし + */ +// +// //200(filterの値がLATESTのときに最新の単一アクティビティをGET) +// if (filter != null && filter.equals("LATEST")) { //equals:filterの値とLATESTが一致しているときtrue +// return Response.status(Response.Status.OK).entity().build(); +// } + + //200(アカウントの全アクティビティをGET) return Response.status(Response.Status.OK).entity(activities).build(); } @@ -55,32 +66,25 @@ public Response postActivities(@PathParam("user-id") String userId, @FormParam("token") String token, @FormParam("new-activity") String newActivity) { - //失敗 - //400(不正なリクエスト) - if (token == null || token.isEmpty() || newActivity == null || newActivity.isEmpty()) { //トークン or 新アクティビティがnull or 空だったら + + //400(トークン or 新アクティビティがnull or 空) + if (token == null || token.isEmpty() || newActivity == null || newActivity.isEmpty()) { var response = Response.status(Response.Status.BAD_REQUEST).entity("不正なリクエスト"); throw new WebApplicationException(response.build()); } - //403(未認証&トークンの不一致) - if (!userRepository.checkToken(userId, token)) { // ユーザーまたはトークンが存在しない はるかと相談済み + //403( ユーザーまたはトークンが存在しない) + if (!userRepository.checkToken(userId, token)) { var response = Response.status(Response.Status.FORBIDDEN).entity("認証エラー"); throw new WebApplicationException(response.build()); } - //404(ユーザーが存在しないとき) if (userRepository.getUser(userId) == null) { var response = Response.status(Response.Status.NOT_FOUND).entity("ユーザーが存在しません"); throw new WebApplicationException(response.build()); } - /* - 500(予期せぬエラー) - spring bootが500を返してくれるからコードなし - */ - - //成功 //200(アクティビティを作成) LocalTime time = LocalTime.now(); //ローカルの時間を取得 Activity addedActivity = activityRepository.addActivity(userId, newActivity, time.toString()); //追加されたアクティビティの情報を、あとで使えるように addedActivity に入れている @@ -88,13 +92,13 @@ } @Path("/{user-id}/activities/{activity-id}") - @GET //アカウントの単一アクティビティを取得する + @GET //アカウントの単一アクティビティを取得する(アクティビティID,テキスト,投稿時間) @Produces(MediaType.APPLICATION_JSON) public Response getActivity(@PathParam("user-id") String userId, @PathParam("activity-id") String activityId) { - //失敗 - //400(不正なリクエスト) - if (activityId == null || activityId.isEmpty()) { //アクティビティがnull or 空だったら + + //400(アクティビティがnull or 空だったら) + if (activityId == null || activityId.isEmpty()) { var response = Response.status(Response.Status.BAD_REQUEST).entity("不正なリクエスト"); throw new WebApplicationException(response.build()); } @@ -105,9 +109,8 @@ throw new WebApplicationException(response.build()); } - Activity activity = activityRepository.getActivity(userId,activityId); - //200(アカウントの単一アクティビティを取得) + Activity activity = activityRepository.getActivity(userId,activityId); return Response.status(Response.Status.OK).entity(activity).build(); } @@ -117,8 +120,6 @@ @PathParam("activity-id") String activityId, @QueryParam("token") String token) { - - //失敗 //400(トークン or 新アクティビティがnull or 空だったら) if (token == null || token.isEmpty() || activityId == null || activityId.isEmpty()) { var response = Response.status(Response.Status.BAD_REQUEST).entity("不正なリクエスト"); @@ -138,47 +139,39 @@ throw new WebApplicationException(response.build()); } - /* - 500(予期せぬエラー) - spring bootが500を返してくれるからコードなし - */ - - boolean deleteActivity = activityRepository.deleteActivity(userId,activityId); - - //成功 //200(アクティビティを削除) + boolean deleteActivity = activityRepository.deleteActivity(userId,activityId); return Response.status(Response.Status.OK).entity(deleteActivity).build(); } @Path("/{user-id}/activities/{activity-id}/text") - @GET //アカウントの単一アクティビティの文章の内容を取得する + @GET //アカウントの単一アクティビティの文章の内容を取得する(テキストのみ) public Response getActivityText(@PathParam("user-id") String userId, @PathParam("activity-id") String activityId) { - //失敗 + //400(不正なリクエスト) if (activityId == null || activityId.isEmpty()) { //アクティビティがnull or 空だったら var response = Response.status(Response.Status.BAD_REQUEST).entity("不正なリクエスト"); throw new WebApplicationException(response.build()); } - //404(取得したアクティビティがnullのとき) - if (activityRepository.getActivity(userId, activityId) == null) { - var response = Response.status(Response.Status.NOT_FOUND).entity("アクティビティが存在しません"); + //404(ユーザーかアクティビティが存在しないとき) + if (userRepository.getUser(userId) == null || activityRepository.getActivity(userId, activityId) == null) { + var response = Response.status(Response.Status.NOT_FOUND).entity("ユーザーかアクティビティが存在しません"); throw new WebApplicationException(response.build()); } - //成功 //200(アカウントの単一アクティビティの文章の内容を取得) - activityRepository.getActivity(userId, activityId); - return Response.status(Response.Status.OK).build(); + String getActivityText = activityRepository.getActivityText(userId, activityId); + return Response.status(Response.Status.OK).entity(getActivityText).build(); } @Path("/{user-id}/activities/{activity-id}/updated-time") @GET //単一アクティビティの投稿時間を取得する public Response getActivityUpdatedTime(@PathParam("user-id") String userId, @PathParam("activity-id") String activityId) { - //失敗 + //400(不正なリクエスト) if (activityId == null || activityId.isEmpty()) { //アクティビティがnull or 空だったら var response = Response.status(Response.Status.BAD_REQUEST).entity("不正なリクエスト"); @@ -191,33 +184,29 @@ throw new WebApplicationException(response.build()); } - //成功 //200(単一アクティビティの投稿時間を取得する) - activityRepository.getActivityUpdateTime(userId, activityId); - return Response.status(Response.Status.OK).build(); + String getActivityUpdateTime = activityRepository.getActivityUpdateTime(userId, activityId); + return Response.status(Response.Status.OK).entity(getActivityUpdateTime).build(); } @Path("/{user-id}/activities/last-updated-time") @GET //最新のアクティビティの投稿時間を取得する public Response getActivityLastUpdatedTime(@PathParam("user-id") String userId) { - //失敗 + //400(不正なリクエスト) if (userId == null || userId.isEmpty()) { //ユーザーがnull or 空だったら var response = Response.status(Response.Status.BAD_REQUEST).entity("不正なリクエスト"); throw new WebApplicationException(response.build()); } - //404(アクティビティが存在しないとき) if (activityRepository.getActivitiesForUser(userId).isEmpty() || userRepository.getUser(userId) == null) { //ユーザの全アクティビティ情報を保存するリストが空のとき var response = Response.status(Response.Status.NOT_FOUND).entity("ユーザーかアクティビティが存在しません"); throw new WebApplicationException(response.build()); } - - //成功 //200(最新のアクティビティの投稿時間を取得する) - activityRepository.getLastUpdatedTime(userId); - return Response.status(Response.Status.OK).build(); + String getLastUpdatedTime = activityRepository.getLastUpdatedTime(userId); + return Response.status(Response.Status.OK).entity(getLastUpdatedTime).build(); } } \ No newline at end of file