Skip to content

Instantly share code, notes, and snippets.

@MohamedGouaouri
Last active February 28, 2024 12:08
Show Gist options
  • Save MohamedGouaouri/00a180f30e4efae2cf0efa8257568eb6 to your computer and use it in GitHub Desktop.
Save MohamedGouaouri/00a180f30e4efae2cf0efa8257568eb6 to your computer and use it in GitHub Desktop.
Users-pets api CLA

Users API

1. Get User Information

  • Endpoint: GET /users/{userId}
  • Description: Retrieve information about a specific user.
  • Parameters:
    • userId (path parameter) - ID of the user to retrieve.
  • Response:
    {
      "userId": 1,
      "name": "John",
      "sexe": "male",
      "age": 26,
      "pets": []
    }
  • Response statuses:
    • 200 Success: success
    • 404 Not Found: User not found.

2. Create User

  • Endpoint: POST /users
  • Description: Create a new user.
  • Request Body:
    {
      "name": "new_user",
      "sexe": "male",
      "age": 26
    }
  • Response:
    {
      "userId": 2,
      "name": "new_user",
      "sexe": "male",
      "age": 26,
      "pets": []
    }
  • Response status:
    • 201 Created: user created
    • 400 Bad Request: Invalid request body.

3. Get all users

  • Endpoint: GET /users
  • Description: Get all users.
  • Response:
    [{
      "userId": 2,
      "name": "new_user",
      "age": 28
      "sexe": "male",
      "pets": []
    }]

Pets API

1. Get Pet Information

  • Endpoint: GET /pets/{petId}
  • Description: Retrieve information about a specific pet.
  • Parameters:
    • petId (path parameter) - ID of the pet to retrieve.
  • Response:
    {
      "petId": 1,
      "name": "Fluffy",
      "type": "Cat",
    }
  • Response statuses:
    • 200 Success: success
    • 404 Not Found: Pet not found.

2. Create Pet

  • Endpoint: POST /pets
  • Description: Create a new pet.
  • Request Body:
    {
      "name": "Doggy",
      "type": "Dog",
    }
  • Response:
    {
      "petId": 2,
      "name": "Doggy",
      "type": "Dog",
    }
  • Responses:
    • 201 Create: pet created.
    • 400 Bad Request: Invalid request body.

3. Assign Pet to User

  • Endpoint: POST /users/{userId}/own/{petId}
  • Description: Assign a pet to a user.
  • Parameters:
    • userId (path parameter) - ID of the user to assign the pet.
    • petId (path parameter) - ID of the pet to be assigned.
  • Response:
    {
      "message": "Pet successfully assigned to the user."
    }
  • Responses:
    • 200 Success: Pet successfully assigned to the user.
    • 404 Not Found: User or pet not found.
    • 409 Conflict: Pet is already assigned to a user.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment