基于FastApi制作的条码区间段生成web服务

查看 22|回复 0
作者:mengma   
基于FastApi制作的条码区间段生成web服务
起因是工作中经常需要生成包含条码区间段的excel文件,正好最近在看fastapi的文档,为了练练手,于是决定最近动手写一个接口,来减少自己重复的劳动.

  • 功能: 向对应的web服务发送包含一个条码区间段以及条码固定不变的部分的的post请求,服务端会根据需要返回一个每行包含一个条码的xlsx文件.
    具体代码如下,因为本人没有写注释的习惯,注释是由ai生成的请见谅:
    from fastapi import FastAPI, HTTPException
    from fastapi.responses import StreamingResponse
    from pydantic import BaseModel
    from openpyxl import Workbook
    import io
    app = FastAPI()
    # 定义输入数据的 Pydantic 模型
    class BarcodeRequest(BaseModel):
    prefix: str  # 前缀
    start_barcode: str  # 起始条形码
    end_barcode: str  # 结束条形码
    step: int = 1  # 步长,默认为1
    fileName: str = "barCode"  # 文件名,默认为"barCode"
    # 生成带有指定步长的条形码范围
    def generate_barcode_range(prefix: str, start: str, end: str, step: int):
    start_numeric = int(start)  # 将起始条形码转换为整数
    end_numeric = int(end)  # 将结束条形码转换为整数
    # 验证起始条形码不大于结束条形码
    if start_numeric > end_numeric:
        raise ValueError("起始条形码必须小于或等于结束条形码")
    # 验证步长为正整数
    if step

  • 使用方法: 可以使用ide或者打包在服务器上运行这段代码,运行一个web服务,然后向其发送post请求便会返回xlsx文件.

    使用pycharm运行成功


    Snipaste_2024-08-23_15-02-13.png (290.71 KB, 下载次数: 0)
    下载附件
    2024-8-23 15:02 上传

    使用postman发送请求


    Snipaste_2024-08-23_15-06-50.png (250 KB, 下载次数: 0)
    下载附件
    2024-8-23 15:07 上传

    生成的xlsx文件


    Snipaste_2024-08-23_15-08-14.png (327.3 KB, 下载次数: 0)
    下载附件
    2024-8-23 15:08 上传

    条形码, 步长

  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部