33### - VS Code: REST Client extension (humao.rest-client)
44### - JetBrains IDEs: built-in HTTP Client
55
6- @baseUrl = http://localhost:9000
7- @newSquadNumber = 27
8- @existingSquadNumber = 23
6+ @baseUrl = http://localhost:9000
7+ @existingId = acc433bf-d505-51fe-831e-45eb44c4d43c
8+ @nonexistentId = 00000000-0000-0000-0000-000000000000
9+ @unknownId = f47ac10b-58cc-4372-a567-0e02b2c3d479
10+ @createdSquadNumber = 27
11+ @existingSquadNumber = 23
12+ @nonexistentSquadNumber = 999
13+ @unknownSquadNumber = 28
914
1015# -----------------------------------------------------------------------------
1116
@@ -15,7 +20,9 @@ GET {{baseUrl}}/health
1520
1621###
1722
18- ### Create Player
23+ # POST /players ---------------------------------------------------------------
24+
25+ ### Create Player (valid body)
1926# POST /players → 201 Created
2027POST {{baseUrl}}/players
2128Content-Type: application/json
@@ -25,7 +32,28 @@ Content-Type: application/json
2532 "middleName": "",
2633 "lastName": "Lo Celso",
2734 "dateOfBirth": "1996-07-09T00:00:00.000Z",
28- "squadNumber": 27,
35+ "squadNumber": {{createdSquadNumber}},
36+ "position": "Central Midfield",
37+ "abbrPosition": "CM",
38+ "team": "Real Betis Balompié",
39+ "league": "La Liga",
40+ "starting11": false
41+ }
42+
43+ ###
44+
45+ ### Create Player (duplicate squad number)
46+ # POST /players → 409 Conflict
47+ # Requires: "Create Player (valid body)" above to have run first.
48+ POST {{baseUrl}}/players
49+ Content-Type: application/json
50+
51+ {
52+ "firstName": "Giovani",
53+ "middleName": "",
54+ "lastName": "Lo Celso",
55+ "dateOfBirth": "1996-07-09T00:00:00.000Z",
56+ "squadNumber": {{createdSquadNumber}},
2957 "position": "Central Midfield",
3058 "abbrPosition": "CM",
3159 "team": "Real Betis Balompié",
@@ -35,26 +63,52 @@ Content-Type: application/json
3563
3664###
3765
66+ # GET /players ----------------------------------------------------------------
67+
3868### Get All Players
3969# GET /players → 200 OK
4070GET {{baseUrl}}/players
4171
4272###
4373
44- ### Get Player by ID
45- # GET /players/:id → 200 OK
46- GET {{baseUrl}}/players/acc433bf-d505-51fe-831e-45eb44c4d43c
74+ # GET /players/{id} -----------------------------------------------------------
75+
76+ ### Get Player by ID (existing)
77+ # GET /players/{id} → 200 OK
78+ GET {{baseUrl}}/players/{{existingId}}
79+
80+ ###
81+
82+ ### Get Player by ID (nonexistent)
83+ # GET /players/{id} → 404 Not Found
84+ GET {{baseUrl}}/players/{{nonexistentId}}
4785
4886###
4987
50- ### Get Player by Squad Number
51- # GET /players/squadnumber/:squadnumber → 200 OK
88+ ### Get Player by ID (unknown)
89+ # GET /players/{id} → 404 Not Found
90+ GET {{baseUrl}}/players/{{unknownId}}
91+
92+ ###
93+
94+ # GET /players/squadnumber/{squad_number} -------------------------------------
95+
96+ ### Get Player by Squad Number (existing)
97+ # GET /players/squadnumber/{squad_number} → 200 OK
5298GET {{baseUrl}}/players/squadnumber/10
5399
54100###
55101
56- ### Update Player
57- # PUT /players/squadnumber/:squadnumber → 200 OK
102+ ### Get Player by Squad Number (nonexistent)
103+ # GET /players/squadnumber/{squad_number} → 404 Not Found
104+ GET {{baseUrl}}/players/squadnumber/{{nonexistentSquadNumber}}
105+
106+ ###
107+
108+ # PUT /players/squadnumber/{squad_number} -------------------------------------
109+
110+ ### Update Player (existing)
111+ # PUT /players/squadnumber/{squad_number} → 204 No Content
58112PUT {{baseUrl}}/players/squadnumber/{{existingSquadNumber}}
59113Content-Type: application/json
60114
@@ -63,7 +117,27 @@ Content-Type: application/json
63117 "middleName": "",
64118 "lastName": "Martínez",
65119 "dateOfBirth": "1992-09-02T00:00:00.000Z",
66- "squadNumber": 23,
120+ "squadNumber": {{existingSquadNumber}},
121+ "position": "Goalkeeper",
122+ "abbrPosition": "GK",
123+ "team": "Aston Villa FC",
124+ "league": "Premier League",
125+ "starting11": true
126+ }
127+
128+ ###
129+
130+ ### Update Player (nonexistent)
131+ # PUT /players/squadnumber/{squad_number} → 404 Not Found
132+ PUT {{baseUrl}}/players/squadnumber/{{nonexistentSquadNumber}}
133+ Content-Type: application/json
134+
135+ {
136+ "firstName": "Emiliano",
137+ "middleName": "",
138+ "lastName": "Martínez",
139+ "dateOfBirth": "1992-09-02T00:00:00.000Z",
140+ "squadNumber": {{existingSquadNumber}},
67141 "position": "Goalkeeper",
68142 "abbrPosition": "GK",
69143 "team": "Aston Villa FC",
@@ -73,9 +147,43 @@ Content-Type: application/json
73147
74148###
75149
76- ### Delete Player
77- # DELETE /players/squadnumber/:squadnumber → 204 No Content
78- # Requires Create Player to have been run first.
79- DELETE {{baseUrl}}/players/squadnumber/{{newSquadNumber}}
150+ ### Update Player (unknown)
151+ # PUT /players/squadnumber/{squad_number} → 404 Not Found
152+ PUT {{baseUrl}}/players/squadnumber/{{unknownSquadNumber}}
153+ Content-Type: application/json
154+
155+ {
156+ "firstName": "Emiliano",
157+ "middleName": "",
158+ "lastName": "Martínez",
159+ "dateOfBirth": "1992-09-02T00:00:00.000Z",
160+ "squadNumber": {{existingSquadNumber}},
161+ "position": "Goalkeeper",
162+ "abbrPosition": "GK",
163+ "team": "Aston Villa FC",
164+ "league": "Premier League",
165+ "starting11": true
166+ }
167+
168+ ###
169+
170+ # DELETE /players/squadnumber/{squad_number} ----------------------------------
171+
172+ ### Delete Player (existing)
173+ # DELETE /players/squadnumber/{squad_number} → 204 No Content
174+ # Requires: "Create Player (valid body)" above to have run first.
175+ DELETE {{baseUrl}}/players/squadnumber/{{createdSquadNumber}}
176+
177+ ###
178+
179+ ### Delete Player (nonexistent)
180+ # DELETE /players/squadnumber/{squad_number} → 404 Not Found
181+ DELETE {{baseUrl}}/players/squadnumber/{{nonexistentSquadNumber}}
182+
183+ ###
184+
185+ ### Delete Player (unknown)
186+ # DELETE /players/squadnumber/{squad_number} → 404 Not Found
187+ DELETE {{baseUrl}}/players/squadnumber/{{unknownSquadNumber}}
80188
81189###
0 commit comments