【发布时间】:2020-05-02 22:45:45
【问题描述】:
我有 .net core web api 基础项目。我向它添加了招摇。现在我想生成打字稿客户端以在角度中使用它。我正在使用 NSwag 工作室。 API 如下所示:
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
[HttpGet("{id}")]
public ActionResult<string> Get(int id)
{
return "value";
}
// POST api/values
[HttpPost]
public void Post([FromBody] string value)
{
}
// PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody] string value)
{
}
// DELETE api/values/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}
当我使用 NswagStudio 生成 typescript 客户端时,它会生成两个版本的 get 方法,由于不支持方法重载,导致 typescript 出错。我想为每个控制器生成客户端类,所以我设置了操作生成模式:“MultipleClientsFromPathSegments”。 生成的结果是:
export class ApiClient {
valuesGet(): Observable<string[]> {}
protected processValuesGet(response: HttpResponseBase): Observable<string[]>{}
valuesPost(value: string | null | undefined): Observable<void>{}
protected processValuesPost(response: HttpResponseBase): Observable<void>{}
valuesGet(id: number): Observable<string>{}
protected processValuesGet(response: HttpResponseBase): Observable<string>{}
}
我想生成第一个名称为“getAll”的 get,因为它应该是。 任何人都有想法。 谢谢
【问题讨论】:
标签: angular typescript asp.net-core