46 lines
1.5 KiB
HTTP
46 lines
1.5 KiB
HTTP
# Optional HTTP-client worksheet; no extension is required by the course.
|
|
# Replace IDs/token locally from real responses; do not commit filled-in credentials.
|
|
# Canonical API: contracts/openapi.json and contracts/README.md.
|
|
@baseUrl = http://localhost:8080
|
|
@aliceId = REPLACE_WITH_CREATED_ALICE_UUID
|
|
@bobId = REPLACE_WITH_CREATED_BOB_UUID
|
|
@chatId = REPLACE_WITH_CREATED_CHAT_UUID
|
|
@sessionToken = REPLACE_LOCALLY_DO_NOT_COMMIT
|
|
|
|
### Liveness
|
|
GET {{baseUrl}}/health/live
|
|
|
|
### Register Alice (repeat with username bob/display_name Боб)
|
|
POST {{baseUrl}}/api/v1/users
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"username": "alice",
|
|
"display_name": "Алиса",
|
|
"password": "Example-only-not-a-real-secret-123"
|
|
}
|
|
|
|
### Create session: generate the Base64 value locally, do not commit credentials
|
|
# Base64 of UTF-8 username:password; only this endpoint accepts Basic.
|
|
POST {{baseUrl}}/api/v1/auth/sessions
|
|
Authorization: Basic REPLACE_WITH_LOCAL_BASE64_CREDENTIAL
|
|
|
|
|
|
### Create chat; both UUIDs must be real registered users
|
|
POST {{baseUrl}}/api/v1/chats
|
|
Authorization: Bearer {{sessionToken}}
|
|
Content-Type: application/json
|
|
|
|
{"title":"Проект по ВНП","member_ids":["{{aliceId}}","{{bobId}}"]}
|
|
|
|
### Send message
|
|
POST {{baseUrl}}/api/v1/chats/{{chatId}}/messages
|
|
Authorization: Bearer {{sessionToken}}
|
|
Content-Type: application/json
|
|
|
|
{"text":"Привет, Боб!"}
|
|
|
|
### Read first page
|
|
GET {{baseUrl}}/api/v1/chats/{{chatId}}/messages?limit=50
|
|
Authorization: Bearer {{sessionToken}}
|