Dev容器Ragnarok
用开发的RESTful API ASP。NET Core 8.0最低API 它实现了一个完整的CRUD系统来管理宇宙人物数据库 诸神黄昏,基于神话史诗般的人与神之间的战斗。
📋 项目描述
该项目的主要目标是 在VS Code中探索现代发展的全部潜力 通过将DevContainers、MCP(Model Context Protocol)、Copilot指令、自定义代理、HTTP和Podman文件集成在一个有凝聚力的项目中。
为了证明这些能力,创建了一个 API RESTful con ASP。NET Core 8.0最低API 它实施了一个完整的CRUD系统来管理拉格纳罗克宇宙中的人物,该系统基于不同神话(北欧、希腊、日本、中国等)的人类与神之间的神话史诗般的战斗。
主要特征
- 🐳 DevContainers:具有预定义配置的完全容器化开发环境
- 🤖 MCP集成:与人工智能高级交互的模型上下文协议
- 📝 副驾驶说明:GitHub Copilot的项目特定上下文说明
- 🧑💻 自定义代理:专业代理(测试、分析师、文档管理员)en
.github/agents/ - 📡 HTTP文件:档案
.http用于端点测试和文档 - ⚙️ 编辑职位:统一的格式设置和代码分析规则
- 🔄 完整的字符CRUD con实体框架核心
- 🔍 高级查询 多重匹配滤波器
- 📊 Swagger用户界面 用于交互式文档
🛠️ 使用的技术
- ASP。NET核心8.0
- 实体框架核心8.0.11
- SQL Server
- C#12.0
📦 安装和配置
先决条件
- Visual Studio Code - 需要的 (该项目针对VS代码进行了优化)
- SQL Server 有可用的数据库
安装步骤
- 克隆存储库
git clone
cd dotnet-devcontainers-ragnarok- 使用DevContainer在VS代码中打开
以VS代码打开项目。您将被要求在DevContainer中重新打开-接受以获得自动配置的完整环境。
背板:如果在提升DevContainer时没有自动安装一些VS Code扩展,请从扩展面板手动安装它们。
- 配置连接字符串
在中配置与SQL Server的连接 src/DevContainersRagnarok.API/appsettings.Development.json:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=RagnarokDB;Integrated Security=true;TrustServerCertificate=true;"
}
}- 应用迁移
迁移已经包括测试数据。
cd src/DevContainersRagnarok.API
dotnet ef database update- 执行应用程序
dotnet runAPI将在以下网址提供:
- 超文本传输协议:
http://localhost:5148 - 超文本传输安全协议:
https://localhost:7116 - Swagger用户界面:
https://localhost:7116/swagger
🧪 测试和文件
用于测试的HTTP文件
该项目包括文件 .http 要进行手动测试并记录端点:
- 位置:
src/DevContainersRagnarok.API/DevContainersRagnarok.API.http - 所需扩展: REST客户端 VS代码
使用:
- REST客户端扩展自动与DevContainer一起安装
- 打开文件
.http并在每个端点上单击“发送请求” - 示例包括所有CRUD和查询终结点
配置变量:
@DevContainersRagnarok_API_HostAddress = http://localhost:5148📁 项目结构
dotnet-devcontainers-ragnarok/
├── .devcontainer/
│ └── devcontainer.json # Configuración del Dev Container
├── .github/
│ ├── agents/ # Agentes personalizados
│ ├── instructions/ # Instrucciones contextuales por tipo de archivo
│ ├── prompts/ # Plantillas reutilizables de prompts
│ ├── copilot-instructions.md # Instrucciones principales de Copilot
│ └── dependabot.yml # Configuración de Dependabot
├── .vscode/ # Configuraciones de VS Code
├── src/
│ └── DevContainersRagnarok.API/
│ ├── Data/
│ │ └── RagnarokDbContext.cs # DbContext con seed data
│ ├── Endpoints/
│ │ ├── CharacterEndpoints.cs # Endpoints CRUD
│ │ └── QueryEndpoints.cs # Endpoints de consultas
│ ├── Migrations/ # Migraciones de EF Core
│ ├── Models/
│ │ └── Character.cs # Entidad Character
│ ├── DevContainersRagnarok.API.http # Archivo HTTP para pruebas
│ └── Program.cs # Punto de entrada
├── .editorconfig # Configuración de formato y análisis de código
├── .gitignore
├── DevContainersRagnarok.sln
└── README.md 🤝 贡献
欢迎按照GitHub的标准流程(Fork,Feature Branch,Pull Request)捐款。
📄 许可证
该项目是开源的,在麻省理工学院的许可下可用。
