route.ts

route.ts

基本信息

  • 类型: API 路由
  • 路径: ./src/app/api/user/api-key/route.ts
  • 路由: /api/user/api-key

概述

用户 API 密钥管理接口。支持查看、生成、删除 API 密钥,以及设置 MCP Prompt 的默认公开状态。

HTTP 方法

  • GET: 获取 API 密钥信息
  • POST: 生成新 API 密钥
  • DELETE: 删除 API 密钥
  • PATCH: 更新 MCP 设置

GET - 获取 API 密钥信息

响应

成功 (200)

{
  "hasApiKey": true,
  "apiKey": "pk_live_xxxxxxxxxxxx",
  "mcpPromptsPublicByDefault": false
}

未授权 (401)

{
  "error": "Unauthorized"
}

未找到 (404)

{
  "error": "User not found"
}

POST - 生成新 API 密钥

响应

成功 (200)

{
  "apiKey": "pk_live_xxxxxxxxxxxx"
}

未授权 (401)

{
  "error": "Unauthorized"
}

DELETE - 删除 API 密钥

响应

成功 (200)

{
  "success": true
}

未授权 (401)

{
  "error": "Unauthorized"
}

PATCH - 更新 MCP 设置

Body 参数

参数类型必填说明
mcpPromptsPublicByDefaultbooleanMCP Prompt 是否默认公开

响应

成功 (200)

{
  "success": true
}

错误

未授权 (401)
{
  "error": "Unauthorized"
}
无效请求 (400)
{
  "error": "Invalid request"
}

依赖

  • next/server - Next.js 服务器组件
  • @/lib/auth - 认证
  • @/lib/db - Prisma 数据库客户端
  • @/lib/api-key - API 密钥生成工具

权限

  • 需要登录

运行时

  • nodejs - 需要 Node.js 运行时环境

API 密钥用途

生成的 API 密钥可用于:

  • 通过 MCP (Model Context Protocol) 访问用户的公开 Prompt
  • 第三方应用集成
  • 程序化访问用户数据
← 返回目录