ONE·一个简单API

很喜欢韩寒的ONE·一个,喜欢每天的一幅图和一句话,所以制作了这个简单API,戳这里

如果希望得到PC端的客户端,请猛戳这里~这是用VB写出来的一个简单的客户端小程序。

如果你希望在你的站点中引入它们,那么,这个API可能会适合你。

ONE API

  • 更新:EveryDay
  • 问题反馈:i@mayuko.cn
  • 数据获取:数据获取
  • 调用示例:JavaScript + HTML (同步)

数据获取

  • 请求地址(SSL):https://blog.mayuko.cn/api/one-api
  • 请求方式:GET

调用举例 – JavaScript + HTML

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,下面是一个简单的示例,演示如何使用 FastAPI 和 SQLite 创建一个档案库管理系统。 首先,安装必要的库: ``` pip install fastapi pip install uvicorn pip install databases pip install sqlalchemy ``` 然后,创建一个 `main.py` 文件,并输入以下代码: ```python from fastapi import FastAPI from pydantic import BaseModel from typing import List import databases from databases import Database import sqlalchemy from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String app = FastAPI() # 数据库配置信息 DATABASE_URL = "sqlite:///./test.db" # 创建数据库连接 database = Database(DATABASE_URL) # SQLAlchemy 元数据 metadata = MetaData() # 模型对应的数据库表 books = Table( "books", metadata, Column("id", Integer, primary_key=True), Column("title", String(50)), Column("author", String(50)), Column("description", String(200)), Column("price", Integer), ) # 创建数据库表 engine = create_engine(DATABASE_URL) metadata.create_all(engine) # 数据模型 class Book(BaseModel): title: str author: str description: str price: int # 创建新书籍 @app.post("/books/") async def create_book(book: Book): query = books.insert().values( title=book.title, author=book.author, description=book.description, price=book.price, ) last_record_id = await database.execute(query) return {**book.dict(), "id": last_record_id} # 获取所有书籍 @app.get("/books/") async def read_books(): query = books.select() results = await database.fetch_all(query) return results # 获取单个书籍 @app.get("/books/{book_id}") async def read_book(book_id: int): query = books.select().where(books.c.id == book_id) result = await database.fetch_one(query) if result: return result else: return {"error": "Book not found"} # 更新书籍 @app.put("/books/{book_id}") async def update_book(book_id: int, book: Book): query = ( books.update() .where(books.c.id == book_id) .values( title=book.title, author=book.author, description=book.description, price=book.price, ) ) await database.execute(query) return {**book.dict(), "id": book_id} # 删除书籍 @app.delete("/books/{book_id}") async def delete_book(book_id: int): query = books.delete().where(books.c.id == book_id) await database.execute(query) return {"message": "Book deleted successfully"} # 连接到数据库 @app.on_event("startup") async def startup(): await database.connect() # 断开数据库连接 @app.on_event("shutdown") async def shutdown(): await database.disconnect() ``` 这个示例创建了一个名为 `books` 的数据库表,用于存储书籍信息。它提供了以下 API: - `POST /books/`:创建新书籍 - `GET /books/`:获取所有书籍 - `GET /books/{book_id}`:获取单个书籍 - `PUT /books/{book_id}`:更新书籍 - `DELETE /books/{book_id}`:删除书籍 你可以使用 SQLite 数据库浏览器等工具来管理数据。 最后,在命令行中运行以下命令启动应用程序: ``` uvicorn main:app --reload ``` 现在,你可以通过浏览器或其他 HTTP 客户端来访问这些 API。例如,要创建一个新书籍: ``` POST http://localhost:8000/books/ { "title": "Python入门教程", "author": "张三", "description": "一本Python入门教程", "price": 50 } ``` 要获取所有书籍: ``` GET http://localhost:8000/books/ ``` 要获取单个书籍: ``` GET http://localhost:8000/books/1 ``` 要更新书籍: ``` PUT http://localhost:8000/books/1 { "title": "Python入门教程2", "author": "张三", "description": "一本Python入门教程", "price": 60 } ``` 要删除书籍: ``` DELETE http://localhost:8000/books/1 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值