forked from codesquad-members-2021/baseball
-
Notifications
You must be signed in to change notification settings - Fork 0
[BE] API
Bongf edited this page May 14, 2021
·
2 revisions
💁♂️ [BE] 배포 주소 http://3.34.140.110:8080
번호 | URL | 기능 | 설명 |
---|---|---|---|
1 | GET /games
|
팀 목록을 가져온다 | |
2 | POST /games/{gameId}/teams/{teamId}
|
참여하고 싶은 팀을 선택한다 | |
3 | PUT /games/{gameId}/teams/{teamId}
|
선택한 팀을 해제한다 | |
4 | GET /games/{gameId}/start
|
게임을 시작한다 | |
5 | POST /games/{gameId}/pitch
|
수비팀에서 공을 던진다(pitch ) |
|
6 | GET /games/{gameId}/pitchResult
|
pitch 후의 게임 진행 상황을 조회한다 |
|
7 | GET /games/{gameId}/score
|
현재 게임의 점수판을 조회한다 | |
8 | GET /games/{gameId}/pa
|
현재 게임의 선수 명단을 조회한다 | |
9 | POST /games/{gameId}/halfInning
|
한 회(초/말)을 끝낸다 | |
10 | POST /games/{gameId}/end
|
게임을 끝낸다 | |
11 | POST /games/{gameId}/batterRecord
|
중계 영역에 들어갈 데이터를 입력한다 | |
12 | GET /games/{gameID}/batterBoard
|
중계 영역의 데이터를 가져온다 |
- response
[
{
"game_id": 1,
"game_status": "READY",
"home": {
"id": 1,
"name": "hanwha",
"selected": false
},
"away": {
"id": 2,
"name": "doosan",
"selected": false
}
},
{
"game_id": 2,
"game_status": "READY",
"home": {
"id": 3,
"name": "kia",
"selected": false
},
"away": {
"id": 4,
"name": "samsung",
"selected": false
}
},
{
"game_id": 3,
"game_status": "READY",
"home": {
"id": 5,
"name": "lotte",
"selected": false
},
"away": {
"id": 6,
"name": "lg",
"selected": false
}
},
{
"game_id": 4,
"game_status": "READY",
"home": {
"id": 7,
"name": "hanzin",
"selected": false
},
"away": {
"id": 8,
"name": "dooson",
"selected": false
}
},
{
"game_id": 5,
"game_status": "READY",
"home": {
"id": 9,
"name": "kila",
"selected": false
},
"away": {
"id": 10,
"name": "samssssung",
"selected": false
}
},
{
"game_id": 6,
"game_status": "READY",
"home": {
"id": 11,
"name": "lottek",
"selected": false
},
"away": {
"id": 12,
"name": "lgggg",
"selected": false
}
},
{
"game_id": 7,
"game_status": "READY",
"home": {
"id": 13,
"name": "hamha",
"selected": false
},
"away": {
"id": 14,
"name": "san",
"selected": false
}
},
{
"game_id": 8,
"game_status": "READY",
"home": {
"id": 15,
"name": "a",
"selected": false
},
"away": {
"id": 16,
"name": "amsung",
"selected": false
}
},
{
"game_id": 9,
"game_status": "READY",
"home": {
"id": 17,
"name": "lot",
"selected": false
},
"away": {
"id": 18,
"name": "lggg",
"selected": false
}
},
{
"game_id": 10,
"game_status": "READY",
"home": {
"id": 19,
"name": "lgaa",
"selected": false
},
"away": {
"id": 20,
"name": "lgoo",
"selected": false
}
}
]
- response
{
"status": "SELECT_OK",
"message": "팀이 선택되었습니다.",
"body": null
}
- response
- 한 명의 유저만 팀을 선택한 경우
{
"status": "START_FAIL",
"message": "상대팀 유저를 기다리는 중입니다",
"body": null
}
- 두 명의 유저가 모두 팀을 선택한 경우
{
"status": "START_OK",
"message": "게임이 시작되었습니다",
"body": {
"game_info": {
"id": 1,
"current_inning": 1,
"frame": "TOP"
},
"home": {
"id": 1,
"name": "hanwha",
"mode": "FIELDING",
"score": 0,
"pitcher": {
"id": 1,
"name": "김오잉",
"uniform_number": 1
},
"batters": [
{
"id": 1,
"name": "김오잉",
"uniform_number": 1
},
{
"id": 2,
"name": "남치수",
"uniform_number": 2
},
{
"id": 3,
"name": "임준섭",
"uniform_number": 3
},
{
"id": 4,
"name": "김종식",
"uniform_number": 4
},
{
"id": 5,
"name": "남색송",
"uniform_number": 5
},
{
"id": 6,
"name": "임춘배",
"uniform_number": 6
},
{
"id": 7,
"name": "김총총",
"uniform_number": 7
},
{
"id": 8,
"name": "남순순",
"uniform_number": 8
},
{
"id": 9,
"name": "임꺽정",
"uniform_number": 9
}
]
},
"away": {
"id": 2,
"name": "doosan",
"mode": "BATTING",
"score": 0,
"pitcher": {
"id": 11,
"name": "하이용",
"uniform_number": 11
},
"batters": [
{
"id": 10,
"name": "임홍시",
"uniform_number": 10
},
{
"id": 11,
"name": "하이용",
"uniform_number": 11
},
{
"id": 12,
"name": "바이용",
"uniform_number": 12
},
{
"id": 13,
"name": "봉쥬르",
"uniform_number": 13
},
{
"id": 14,
"name": "호랑이",
"uniform_number": 14
},
{
"id": 15,
"name": "추신수",
"uniform_number": 15
},
{
"id": 16,
"name": "박지성",
"uniform_number": 16
},
{
"id": 17,
"name": "낙곱새",
"uniform_number": 17
},
{
"id": 18,
"name": "이건희",
"uniform_number": 18
}
]
}
}
}
- request
{
"home_id": 1,
"away_id": 2,
"batting_team_id": 1,
"pitch_result": "strike",
"batter": {
"player_id": 1,
"player_name": "김종수",
"player_uniform_number": 1,
"is_out": true
},
"nth_batter" : 50,
"ball_count": {
"strike": 1,
"ball": 1,
"out": 2
},
"runners": [
{
"player_id": 123,
"mode": null
},
{
"player_id": 123,
"mode": null
}
],
"score": {
"home_score": 2,
"away_score": 1
}
}
- response
{
"home_id": 1,
"away_id": 2,
"batting_team_id": 1,
"pitch_result": "strike",
"runners": [
{
"player_id": 123,
"mode": null
},
{
"player_id": 123,
"mode": null
},
{
"player_id": null,
"mode": null
},
{
"player_id": null,
"mode": null
}
],
"batter": {
"player_id": 1,
"player_name": "김종수",
"player_uniform_number": 1,
"is_out": false
},
"nth_batter": 50,
"ball_count": {
"strike": 1,
"ball": 1,
"out": 2
},
"score": {
"home_score": 2,
"away_score": 1
}
}
- response
{
"home_name": "hanwha",
"away_name": "doosan",
"home_score_list": [
1,
1
],
"away_score_list": [
1,
1
],
"home_total": 2,
"away_total": 2
}
- response
{
"away": {
"team_name": "doosan",
"players": [
{
"player_id": 10,
"player_name": "임홍시",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 11,
"player_name": "하이용",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 12,
"player_name": "바이용",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 13,
"player_name": "봉쥬르",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 14,
"player_name": "호랑이",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 15,
"player_name": "추신수",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 16,
"player_name": "박지성",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 17,
"player_name": "낙곱새",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 18,
"player_name": "이건희",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
}
]
},
"home": {
"team_name": "hanwha",
"players": [
{
"player_id": 1,
"player_name": "김오잉",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 2,
"player_name": "남치수",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 3,
"player_name": "임준섭",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 4,
"player_name": "김종식",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 5,
"player_name": "남색송",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 6,
"player_name": "임춘배",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 7,
"player_name": "김총총",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 8,
"player_name": "남순순",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
},
{
"player_id": 9,
"player_name": "임꺽정",
"at_bat": 0,
"hit": 0,
"out": 0,
"average": 0
}
]
}
}
- request
{
"home_id": 1,
"away_id": 2,
"batting_team_id": 1,
"pitch_result": "strike",
"batter": {
"player_id": 1,
"player_name": "김종수",
"player_uniform_number": 1,
"is_out": true
},
"nth_batter" : 50,
"ball_count": {
"strike": 0,
"ball": 0,
"out": 0
},
"runners": [
],
"score": {
"home_score": 2,
"away_score": 100
}
}
- response
{
"status": "NEW_HALFINNING_OK",
"message": "공격과 수비가 변경됩니다",
"body": null
}
- request
[{ "player_id": 1,
"action": "BALL",
"nth_batter" : 1,
"batter_name" : "로또",
"strike": 0,
"ball": 1
},
{ "player_id": 1,
"action": "BALL",
"nth_batter" : 1,
"batter_name" : "로또",
"strike": 0,
"ball": 1
},
{ "player_id": 2,
"action": "BALL",
"nth_batter" : 1,
"batter_name" : "일등",
"strike": 0,
"ball": 1
}
]
- response
[
{
"player_id": 1,
"action": "BALL",
"batter_name": "로또",
"strike": 0,
"ball": 1,
"nth_batter": 0
},
{
"player_id": 1,
"action": "BALL",
"batter_name": "로또",
"strike": 0,
"ball": 1,
"nth_batter": 0
},
{
"player_id": 2,
"action": "BALL",
"batter_name": "일등",
"strike": 0,
"ball": 1,
"nth_batter": 0
}
]