我写了一个 Roslyn 源代码生成器,它访问我所有控制器的方法,这些方法具有 HttpGet、HttpPut、HttpDelete 或 HttpPost 属性,然后制作这样的类,我希望我的 Blazor 客户端类可用:
// <auto-generated>
// This code was generated by OurGov.Data.Shared.Generators.ApiRoutesGenerator version 1.0.4.1
// </auto-generated>
#nullable enable
namespace OurGov.Data.Shared.Models.Routes;
/// <summary>Defines routes.</summary>
public static partial class ApiRoutes
{
/// <summary>Endpoints for EventsController</summary>
public static class EventsRoutes
{
/// <summary>HttpGet: See EventsController.GetEventsForFeed</summary>
public static string GetEventsForFeed(string filterValue) => $"api/events/feed/{filterValue}";
...more endpoints...
/// <summary>HttpPost: See EventsController.GetHearingsForCommittee</summary>
public static string GetHearingsForCommittee() => $"api/events/hearings/search";
}
}
我将命名空间设置为与如果它是 OurGov.Data.Shared .DLL 的一部分相同的命名空间,但是,唉,(回想起来,很明显)这并不是这样。
我将如何从我的启动项目(即我的控制器所在的位置)生成代码,然后让那些新生成的类自动(理想情况下)被下游项目(服务器依赖的项目)使用?