angular - Nswag 生成 get 方法的重复版本
问题描述
我有 .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 生成打字稿客户端时,它会生成两个版本的 get 方法,由于不支持方法重载,导致打字稿出错。我想为每个控制器生成客户端类,所以我设置了操作生成模式:“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,因为它应该是。任何人都有想法。谢谢
解决方案
尝试将字符串传递给 HttpGet(这也会更改 url)
// GET api/values
[HttpGet("GetAll")]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
}
推荐阅读
- python - Mac 上的 Python 模块
- javascript - 如何从列表js中删除特定项目?
- azure - 使用带有 MSAL.js 的 Javascript 客户端应用程序时,如何在访问令牌中获取应用程序角色声明 (Roles) 以访问受保护的 API
- java - 逻辑错误,Java中字符串的二进制搜索
- android - Glide 生成大小为 0 的 ImageView
- javascript - 使用正则表达式从字符串末尾重复字符集
- node.js - CocoaPods 找不到 pod“lottie-ios”的兼容版本
- symfony - Symfony 3.4:重定向问题
- php - Laravel 8:未定义变量:文章
- javascript - 如何在 Firebase Web 中更新 childSnapShot 值