Skip to content

This is a simple REST API built with Python and FastAPI and SQLAlchemy for CRUD operations (Create, Read, Update, Delete) on users. FastAPI is a powerful web framework for building APIs.

License

Notifications You must be signed in to change notification settings

BaseMax/SimpleFastPyAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple FastAPI Py

My Awesome FastAPI Project

This is a simple REST API built with Python and FastAPI and SQLAlchemy for CRUD operations (Create, Read, Update, Delete) on users. FastAPI is a powerful web framework for building APIs.

Installation

Clone this repository to your local machine:

git clone https://github.com/BaseMax/SimpleFastPyAPI

Change into the project directory:

cd SimpleFastPyAPI

Build Docker:

docker build -t SimpleFastPyAPI .

Run the application:

docker run -p 8000:8000 -v $(pwd)/users.db:/app/users.db SimpleFastPyAPI

Install the project dependencies:

pip install -r requirements.txt

Run the application directly without Docker:

uvicorn main:app --reload

The application will start and be available at http://localhost:8000.

API Endpoints

Retrieve a list of users:

GET /users

Returns a list of all users in the system:

curl http://localhost:8000/users/ -H "Accept: application/json"

Response:

[
    {
        "email": "alice@example.com",
        "id": 1,
        "password": "password1",
        "name": "Alice"
    },
    {
        "email": "bob@example.com",
        "id": 2,
        "password": "password2",
        "name": "Bob"
    },
    {
        "email": "charlie@example.com",
        "id": 3,
        "password": "password3",
        "name": "Charlie"
    }
]

Retrieve details for a specific user:

GET /users/{user_id}

Returns details for a specific user with the given user_id:

curl http://localhost:8000/users/1 -H "Accept: application/json"

Response:

{
    "email": "alice@example.com",
    "id": 1,
    "password": "password1",
    "name": "Alice"
}

Add a new user

POST /users

Adds a new user to the system. The request body should include a JSON object with the following properties:

  • name (string, required): the name of the user
  • email (string, required): the email address of the user
  • password (string, required): the password for the user
curl -X POST http://localhost:8000/users/
   -H 'Content-Type: application/json'
   -d '{"name":"Ali","password":"123456", "email": "AliAhmadi@gmail.com"}'

Response:

{
    "email": "AliAhmadi@gmail.com",
    "password": "123456", 
    "id": 4, 
    "name": "Ali"
}

Update an existing user

PUT /users/{user_id}

Updates an existing user with the given user_id. The request body should include a JSON object with the following properties:

  • name (string): the new name for the user
  • email (string): the new email address for the user
curl -X PUT http://localhost:8000/users/1
     -H "Accept: application/json"
     -d '{"name": "Reza", "email": "reza@yahoo.com"}'

Response:

{"message": "User updated successfully"}

Delete a user

DELETE /users/{user_id}

Deletes the user with the given user_id:

curl -X DELETE http://localhost:8000/2

Response:

{"message": "User deleted successfully"}

License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

Copyright 2023, Max Base

About

This is a simple REST API built with Python and FastAPI and SQLAlchemy for CRUD operations (Create, Read, Update, Delete) on users. FastAPI is a powerful web framework for building APIs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy