diff --git a/src/main/java/com/ntlab/irisserver/entities/DrawingController.java b/src/main/java/com/ntlab/irisserver/entities/DrawingController.java index 0ef55d2..fec47bd 100644 --- a/src/main/java/com/ntlab/irisserver/entities/DrawingController.java +++ b/src/main/java/com/ntlab/irisserver/entities/DrawingController.java @@ -64,8 +64,11 @@ //pathパラメーターを引数にするので、memberではなくてString //nicknameから書いてほしいdnoを返す - public int getDno(String nickname) { + public Integer getDno(String nickname) { Member mem = membersMap.get(nickname); + if(mem == null){ + return null; + } List dnoList = assignments.get(mem); int dno = dnoList.get(stage); return dno; diff --git a/src/main/java/com/ntlab/irisserver/resources/AssignmentRest.java b/src/main/java/com/ntlab/irisserver/resources/AssignmentRest.java index 8a7c38f..93c5330 100644 --- a/src/main/java/com/ntlab/irisserver/resources/AssignmentRest.java +++ b/src/main/java/com/ntlab/irisserver/resources/AssignmentRest.java @@ -6,11 +6,9 @@ import com.ntlab.irisserver.models.RoomManager; import org.springframework.stereotype.Component; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; import java.util.List; @Component @@ -22,13 +20,31 @@ @Produces(MediaType.APPLICATION_JSON) public int getDno(@PathParam("rid") String rid,@PathParam("nickname") String nickname ) { + Integer dno = null; + RoomManager rm = RoomManager.getInstance(); Room room = rm.getRoom(rid); - Game game = room.getGame(); - DrawingController drawingController = game.getDrawingController(); + if(room != null) { - int dno = 0; - dno = drawingController.getDno(nickname); + Game game = room.getGame(); + DrawingController drawingController = game.getDrawingController(); + dno = drawingController.getDno(nickname); // dno = new Integer(drawingController.getDno(nickname)); + + if(dno == null ){ + + //プレイヤーがいなければエラー + var response = Response.status(Response.Status.NO_CONTENT); + response.status(404).entity("プレイヤーが存在しません"); + throw new WebApplicationException(response.build()); + } + + }else{ + //部屋がなければエラー + var response = Response.status(Response.Status.NO_CONTENT); + response.status(404).entity("部屋が存在しません"); + throw new WebApplicationException(response.build()); + } + return dno; }