Чтобы отправить данные на сервер с помощью запроса GET, вам придется кодировать их в URL-адресе, поскольку у GET нет тела. Это не рекомендуется, если вам нужен определенный формат (например, JSON), так как вам придется анализировать URL-адрес, декодировать параметры и преобразовывать их в JSON.
В качестве альтернативы, вы можете POST a Поисковый запрос на ваш сервер. Запрос POST разрешает тело, которое может иметь различные форматы (включая JSON).
Если вы все еще хотите запрос GET
@app.get('/webrecord/check_if_object_exist/{key}')
async def check_if_object_exist(key: str, data: str) -> bool:
key = get_key_of_obj(payload.data) if payload.key is None else payload.key
return await check_if_key_exist(key)
client = TestClient(app)
class ServiceTest(unittest.TestCase):
.....
def test_check_if_object_is_exist(self):
response = client.get("/webrecord/check_if_object_exist/key", params={"data": "my_data")
assert response.status_code == 200
assert response.json(), "webrecord should already be in db, expected : True, got : {}".format(response.json())
Это позволит получать запросы от mydmain url. com / webrecord / check_if_object_exist / {ключ объекта}.
Последнее замечание: я сделал все параметры обязательными. Вы можете изменить их, объявив по умолчанию None
. См. fastapi Docs