我分叉了 ardalis git repo Clean Architecture。 在
SharePrompts.Web
项目中,contributor
实体有一些快速端点。
我创建了一个新的 dll 项目
SharePrompts.Web.Cap
并添加了一个用于创建 post
实体的快速端点:
https://github.com/dmitryst/SharePrompts/blob/cap/src/SharePrompts.Web.Cap/Posts/Create.cs
public class CreateEndpoint(IMediator _mediator) : Endpoint<CreatePostRequest, CreatePostResponse>
{
public override void Configure()
{
Post("/posts");
AllowAnonymous();
}
public override async Task HandleAsync(CreatePostRequest req, CancellationToken ct)
{
var result = await _mediator.Send(new CreatePostCommand(req.Title, req.Text, req.Tag, req.UserId), ct);
if (result.IsSuccess)
{
Response = new CreatePostResponse(result.Value.Id, req.Title, req.Text, req.Tag);
return;
}
}
}
SharePrompts.Web
对 SharePrompts.Web.Cap
项目的引用。
但问题是,
SharePrompts.Web.Cap
项目中添加的端点既无法被调用(返回404错误),也无法在swagger页面上可见。
如何解决这个问题?
您需要通知 fastendpoints 在哪里可以找到位于不同程序集中的端点,如下所示:
builder.Services.AddFastEndpoints(
o => o.Assemblies = new[]
{
typeof(SomeAssemblyName).Assembly,
typeof(AnotherAssemblyName).Assembly
});