Skip to content

Commit 33437f1

Browse files
committed
Switch from GET to POST
1 parent c8ef654 commit 33437f1

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

server/genai/service/main.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@ async def metrics():
2626
return PlainTextResponse(generate_latest(), media_type=CONTENT_TYPE_LATEST)
2727

2828

29-
@app.get(
29+
@app.post(
3030
"/api/v2/genai/conversation-starter",
3131
response_model=ConversationStarterCollection,
3232
tags=["GenAI"],
33-
operation_id="get-api-v2-genai-conversation-starter",
33+
operation_id="post-api-v2-genai-conversation-starter",
3434
summary="Request conversation starter",
3535
)
3636
async def get_conversation_starter(
3737
request: Request,
38-
users: UserCollection = Body(...), # FastAPI supports body with GET but it's nonstandard
38+
users: UserCollection = Body(...),
3939
settings: Settings = Depends(get_settings),
4040
):
4141
REQUEST_COUNT.labels(endpoint=str(request.url.path)).inc()

server/genai/test/test_service.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def test_get_conversation_starters():
3636
}
3737

3838
response = client.request(
39-
method="GET",
39+
method="POST",
4040
url="/api/v2/genai/conversation-starter",
4141
data=json.dumps(payload),
4242
headers={"Content-Type": "application/json"},
@@ -54,7 +54,7 @@ def test_get_conversation_starters():
5454
def test_empty_user_list_returns_400():
5555
payload = {"users": []}
5656
response = client.request(
57-
method="GET",
57+
method="POST",
5858
url="/api/v2/genai/conversation-starter",
5959
data=json.dumps(payload),
6060
headers={"Content-Type": "application/json"},
@@ -66,7 +66,7 @@ def test_empty_user_list_returns_400():
6666
def test_missing_users_key_returns_422():
6767
payload = {}
6868
response = client.request(
69-
method="GET",
69+
method="POST",
7070
url="/api/v2/genai/conversation-starter",
7171
data=json.dumps(payload),
7272
headers={"Content-Type": "application/json"},
@@ -81,7 +81,7 @@ def test_user_missing_required_field_returns_422():
8181
del user["email"] # Required field missing
8282
payload = {"users": [user]}
8383
response = client.request(
84-
method="GET",
84+
method="POST",
8585
url="/api/v2/genai/conversation-starter",
8686
data=json.dumps(payload),
8787
headers={"Content-Type": "application/json"},
@@ -94,7 +94,7 @@ def test_invalid_uuid_returns_422():
9494
user = valid_user({"userID": "not-a-uuid"})
9595
payload = {"users": [user]}
9696
response = client.request(
97-
method="GET",
97+
method="POST",
9898
url="/api/v2/genai/conversation-starter",
9999
data=json.dumps(payload),
100100
headers={"Content-Type": "application/json"},
@@ -107,7 +107,7 @@ def test_invalid_date_format_returns_422():
107107
user = valid_user({"birthday": "01.01.2000"}) # Wrong format
108108
payload = {"users": [user]}
109109
response = client.request(
110-
method="GET",
110+
method="POST",
111111
url="/api/v2/genai/conversation-starter",
112112
data=json.dumps(payload),
113113
headers={"Content-Type": "application/json"},
@@ -120,7 +120,7 @@ def test_interests_as_non_list_returns_422():
120120
user = valid_user({"interests": "not-a-list"})
121121
payload = {"users": [user]}
122122
response = client.request(
123-
method="GET",
123+
method="POST",
124124
url="/api/v2/genai/conversation-starter",
125125
data=json.dumps(payload),
126126
headers={"Content-Type": "application/json"},
@@ -132,7 +132,7 @@ def test_interests_as_non_list_returns_422():
132132
def test_no_content_type_header_returns_200():
133133
payload = {"users": [valid_user()]}
134134
response = client.request(
135-
method="GET",
135+
method="POST",
136136
url="/api/v2/genai/conversation-starter",
137137
data=json.dumps(payload),
138138
# No Content-Type header
@@ -143,7 +143,7 @@ def test_no_content_type_header_returns_200():
143143

144144
def test_empty_payload_returns_422():
145145
response = client.request(
146-
method="GET",
146+
method="POST",
147147
url="/api/v2/genai/conversation-starter",
148148
data="", # Empty body
149149
headers={"Content-Type": "application/json"},
@@ -153,7 +153,7 @@ def test_empty_payload_returns_422():
153153

154154
def test_invalid_json_returns_422():
155155
response = client.request(
156-
method="GET",
156+
method="POST",
157157
url="/api/v2/genai/conversation-starter",
158158
data="{bad json}",
159159
headers={"Content-Type": "application/json"},
@@ -171,7 +171,7 @@ class DummySettings:
171171

172172
payload = {"users": [valid_user()]}
173173
response = client.request(
174-
method="GET",
174+
method="POST",
175175
url="/api/v2/genai/conversation-starter",
176176
data=json.dumps(payload),
177177
headers={"Content-Type": "application/json"},
@@ -205,7 +205,7 @@ def __init__(self, generations):
205205

206206
payload = {"users": [valid_user()]}
207207
response = client.request(
208-
method="GET",
208+
method="POST",
209209
url="/api/v2/genai/conversation-starter",
210210
data=json.dumps(payload),
211211
headers={"Content-Type": "application/json"},

0 commit comments

Comments
 (0)