我已经创建了一个ASP.NET Core 7 Web API,并成功创建了大约30个工作正常的端点。只是陷入了一些奇怪的情况,我创建了一个具有此签名的端点:
[HttpPost]
[Route("[action]")]
public async Task<IActionResult> UsersBySearch([FromBody] UserSearchOptions prmUSO)
{
var (Result, Response) = await UOW.Users.GetUsersBySearch(prmUSO);
if (Result != null)
{
return Ok(Response);
}
else
{
return BadRequest(new ServiceErrorMsg { Message = new() { "Error fetching user list"}});
}
}
字符串
其中UserSearchOptions
类看起来像这样:
public class UserSearchOptions
{
public int Skip;
public int PageSize;
public string? SortCol;
public string? SortColDir;
public string? searchVal;
public int UserId;
}
型
现在当我运行这个时,我的Swagger API没有显示这个API,输入类对象作为输入参数,当我用Postman调用它时,API被调用,但参数值没有在其中接收。
的数据
的
的
请大家帮忙解决这个问题。
2条答案
按热度按时间cl25kdpy1#
尝试将getter和setter添加到类中。
字符串
0wi1tuuw2#
您可以根据其他答案更改DTO以使用属性而不是字段,或者如果您确实想使用字段,则可以通过将API的
JsonSerializerOptions.IncludeFields
设置为true
来启用它们,如https://stackoverflow.com/a/58139922/1064169所述。