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+ @newSquadNumber = 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
@@ -35,26 +42,73 @@ Content-Type: application/json
3542
3643###
3744
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": 27,
57+ "position": "Central Midfield",
58+ "abbrPosition": "CM",
59+ "team": "Real Betis Balompié",
60+ "league": "La Liga",
61+ "starting11": false
62+ }
63+
64+ ###
65+
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
@@ -73,9 +127,63 @@ Content-Type: application/json
73127
74128###
75129
76- ### Delete Player
77- # DELETE /players/squadnumber/:squadnumber → 204 No Content
78- # Requires Create Player to have been run first.
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": 23,
141+ "position": "Goalkeeper",
142+ "abbrPosition": "GK",
143+ "team": "Aston Villa FC",
144+ "league": "Premier League",
145+ "starting11": true
146+ }
147+
148+ ###
149+
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": 23,
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.
79175DELETE {{baseUrl}}/players/squadnumber/{{newSquadNumber}}
80176
81177###
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}}
188+
189+ ###
0 commit comments