mcpField
D
d1-06-crud-endpoints

d1-06-crud-endpoints

github.com/softinter-chiangrai开发046 次安装9 周前更新
代码仓库

关于 d1-06-crud-endpoints

用于为已迁移的实体添加 CRUD 端点并重新部署应用的开发技能。开始前须确认实体,不能自行假定。

主要功能

  1. 01先确认已迁移的实体
  2. 02在 ASP.NET 控制器中添加 CRUD 端点
  3. 03端点变更后重新部署

适用场景

  1. 01为已确认的迁移实体创建 API 端点
  2. 02完成开发步骤并重新部署

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/softinter-chiangrai/up-ai-skill-training --skill d1-06-crud-endpoints

安装后在 Claude Code 中输入/d1-06-crud-endpoints确认已加载。

详细介绍

第 1 天 · 步骤 6 — CRUD 端点,然后重新部署

**开始前:**询问要为哪个实体创建端点(必须与 D1_05 中已迁移的实体之一匹配)。 未经确认,不要假设或继续操作。

up-api/Controllers/<Entity>sController.cs:

[ApiController]
[Route("api/[controller]")]
public class <Entity>sController : ControllerBase
{
    private readonly AppDbContext _db;
    public <Entity>sController(AppDbContext db) => _db = db;

    [HttpGet]
    public async Task<IActionResult> All() => Ok(await _db.<Entity>s.ToListAsync());

    [HttpGet("detail/{id}")]
    public async Task<IActionResult> Detail(int id)
    {
        var item = await _db.<Entity>s.FindAsync(id);
        return item is null ? NotFound() : Ok(item);
    }

    [HttpPost("save")]
    public async Task<IActionResult> Save(<Entity> input)
    {
        _db.<Entity>s.Add(input);
        await _db.SaveChangesAsync();
        return Ok(input);
    }

    [HttpPut("update/{id}")]
    public async Task<IActionResult> Update(int id, <Entity> input)
    {
        var item = await _db.<Entity>s.FindAsync(id);
        if (item is null) return NotFound();
        // copy updated fields from input onto item
        await _db.SaveChangesAsync();
        return Ok(item);
    }

    [HttpDelete("{id}")]
    public async Task<IActionResult> Delete(int id)
    {
        var item = await _db.<Entity>s.FindAsync(id);
        if (item is null) return NotFound();
        _db.<Entity>s.Remove(item);
        await _db.SaveChangesAsync();
        return NoContent();
    }
}

评论

支持 Markdown