验证来自输入参数的 API 输入

问题描述 投票:0回答:1

在我的控制器中我有这样的东西:

public async Task<Teacher?> GetTeacher(string id){}

我想做的就是抛出某种

BadRequest()
或任何其他适当的东西来对输入参数进行
id
验证。 逻辑是这样的:

    if (id == "nah")
    {
        return BadRequest();
    }

好吧,我遇到的问题是我的控制器强类型化为

Task<Teacher?>
,当我确实找到结果并且我返回该类型时,这很好,但如果我有一个
,它现在不会编译/无法转换return BadRequest();

那么有什么简单的方法可以进行这样的超级简单的参数验证呢?

c# asp.net-core-webapi
1个回答
0
投票

使用WebAPI2,当使用

[HttpGet("/GetTeacher/{id:string})"]
注释你的方法时,你可以直接添加一些验证。您可以尝试将返回类型更改为
IActionResult
并返回类似
Ok(FoundTeacher)
的内容。

WebAPI2 中的路由约束 - MSDC WebAPI 中的返回类型 - MSDC

© www.soinside.com 2019 - 2024. All rights reserved.