중앙


붕어빵 게임 서버 후기 Java Spring의 기록

개발
Spring boot + Couchbase
Maven 빌드

구조
Lobby와 Game의 두가지 컨트롤러로 나눔. 
(컨트롤러가 하나면 병목이 생기지 않을까 하는 걱정)
정보들은 Couchbase DB에서 관리한다.
로비는 회원관리, 게임은 게임로직일을 한다.

신기한점
어노테이션을 달기만해도 척척 알아서 해주니 편리함을 느꼈다.
기존의 어노테이션보다 더 다양하고 편리한 어노테이션을 spring이 보유했으며, 이 spring보다 더 심플해진게 spring boot라니...
덕분에 구조가 너무 심플하고 보기도 좋다.
단, 원래 있던 어노테이션들을 묶어 다시 하나의 어노테이션으로 만든 것들이 있다보니 헷갈리는 부분도 많았다.
또 Junit 테스트도 어노테이션으로 가벼워진 느낌.
(분명 visual studio에서도 unit test를 할 수 있었음에도 제대로 사용해보지 못했었다.이렇게 알고나면 손이 편리한 것을..)

많은 것을 배운 작업.
하지만 무리하게 짧게 공부하고 프로젝트를 만든 만큼 더 깊이 알고 싶어졌다.
토비의 스프링 책을 사서 정독해볼 맘이 불끈불끈.


붕어빵 타이쿤 게임 Spring Server 포트폴리오&작업

붕어빵 반죽을 빈 틀에 부어 적절한 시간이 지났을때 건져내는 게임

Spring boot 1.4.1.release
Couchbase 2.0
작업기간 하루?



....결과 정보....


1. 회원가입 
url : http://serverip/lobby/{machineID}
method : POST
parameter : -
result :
  result : 결과(성공0)
exp: 경험치
money:재화
lv:레벨
>> Test
MockHttpServletRequest:
 HTTP Method = POST
 Request URI = /lobby/1001
  Parameters = {}
MockHttpServletResponse:
  Status = 200
Error message = null
 Headers = {Content-Type=[text/html;charset=UTF-8], Content-Length=[40]}
Content type = text/html;charset=UTF-8
Body = {"result":0,"exp":0,"money":1000,"lv":2}

2. 로그인
url : http://serverip/lobby/{machineID}
method : GET
parameter : -
result :
  result : 결과(성공0)
exp: 경험치
money:재화
lv:레벨
>> Test
MockHttpServletRequest:
 HTTP Method = GET
 Request URI = /lobby/1
  Parameters = {}
MockHttpServletResponse:
  Status = 200
Error message = null
 Headers = {Content-Type=[text/html;charset=UTF-8], Content-Length=[40]}
Content type = text/html;charset=UTF-8
Body = {"result":0,"exp":0,"money":1000,"lv":2}

3. 회원탈퇴
url : http://serverip/lobby/{machineID}
method : DELETE
parameter : -
result :
  result : 결과(성공0)
>> Test
MockHttpServletRequest:
 HTTP Method = DELETE
 Request URI = /lobby/1002
  Parameters = {}
MockHttpServletResponse:
  Status = 200
Error message = null
 Headers = {Content-Type=[text/html;charset=UTF-8], Content-Length=[37]}
Content type = text/html;charset=UTF-8
Body = {"result":0}
 
 
4. 게임시작
url : http://serverip/game/start/{userID}
method : GET
parameter : -
result :
  result : 결과(성공0)
>> Test
MockHttpServletRequest:
      HTTP Method = GET
      Request URI = /game/start/1001
       Parameters = {}
MockHttpServletResponse:
  Status = 200
Error message = null
 Headers = {Content-Type=[text/html;charset=UTF-8], Content-Length=[86]}
Content type = text/html;charset=UTF-8
Body = {"result":0}

 
5. 반죽 틀에 넣기
url : http://serverip/game/bread/{userID}
method : PUT
parameter : 
position : 반죽을 넣을 위치
result :
  result : 결과(성공0)
cast : 빵틀 시간
bread: 빵 수
>> Test
MockHttpServletRequest:
      HTTP Method = PUT
      Request URI = /game/bread/1001
       Parameters = {position=[1]}
MockHttpServletResponse:
           Status = 200
    Error message = null
          Headers = {Content-Type=[text/html;charset=UTF-8], Content-Length=[98]}
     Content type = text/html;charset=UTF-8
             Body = {"result":0,"cast":{"3":0,"2":0,"1":1477208180969,"7":0,"6":0,"5":0,"4":0,"9":0,"8":0},"bread":10}

 
6. 빵 틀에서 건지기
url : http://serverip/game/bread/{userID}
method : GET
parameter : 
position : 반죽을 넣을 위치
result :
  result : 결과(성공0)
cast : 빵틀 시간
bread: 빵 수
>> Test
MockHttpServletRequest:
      HTTP Method = GET
      Request URI = /game/bread/1001
       Parameters = {position=[1]}
MockHttpServletResponse:
           Status = 200
    Error message = null
          Headers = {Content-Type=[text/html;charset=UTF-8], Content-Length=[75]}
     Content type = text/html;charset=UTF-8
             Body = {"result":0,"cast":{"3":0,"2":0,"1":0,"7":0,"6":0,"5":0,"4":0,"9":0,"8":0},"bread":11}
 

7. 게임 종료
url : http://serverip/game/end/{userID}
method : GET
parameter : -
result :
  result : 결과(성공0)
exp: 경험치
money:재화
lv:레벨
>> Test
MockHttpServletRequest:
      HTTP Method = GET
      Request URI = /game/end/1001
       Parameters = {}
MockHttpServletResponse:
           Status = 200
    Error message = null
          Headers = {Content-Type=[text/html;charset=UTF-8], Content-Length=[34]}
     Content type = text/html;charset=UTF-8
             Body = {"result":0,"exp":30,"money":1015,"lv":2}

1 2 3 4 5 6 7 8 9 10 다음