我有一个ASP.NET Core Web API网站,启用了Swagger生成和UI。为了让Swagger工作(至少自动工作),必须键入来自控制器方法的返回值。例如,如何在不返回对象,IActionResult等的情况下返回ASP.NET Core中的自定义HTTP状态/消息?
public async Task<Employee> LoadEmployee(string id)
但是,我需要返回此操作的自定义HTTP状态代码和内容。我见过的所有例子都使用了StatusCode方法,或者返回一些其他对象。这个问题是Swagger不知道该动作的返回类型是什么,所以不能生成API规范。
是否有某种方式(例外,控制器等方法)返回自定义代码/内容,同时保持签名?我已经看到了使用定制中间件的解决方案,但它似乎是一种常见的情况,应该有一些内置的东西。
谢谢。我希望避免使用特定的代码(与API主要是自我记录相对),但这是有效的。 –