Как перезаписать коды статуса в swagger-ui, созданные jooby
У меня есть примерно следующий API с использованием jooby v1.6.8:
class App : Kooby({
fun functionWhichReturnsUnit() {}
path("/my/api", () -> {
/**
*
* Endpoint which returns nothing (status code returned: 204 No Content)
*
*/
post("/post/something"){
functionWhichReturnsUnit();
Results.noContent();
}
/**
*
* Install API Doc and export your HTTP API:
*/
use(new ApiTool()
.swagger("/swagger")
);
}
У меня проблема в том, что в swagger код состояния возврата конечной точки задается как
200
, с типом возврата
Result
, вместо
204
как и ожидалось. Неправильный тип возвращаемого значения не столько проблема, сколько код состояния действительно должен быть правильным.
Вещи, которые я пробовал:
@ApiResponse
аннотации к функции контроллера игнорируются.- Удаление
Results.noContent()
приводит к правильному коду состояния swagger (204), но сама конечная точка возвращает код состояния 200. - В
ApiTool
modify
Функция позволяет нам получить доступ к коду состояния, но не перезаписать его. - То же самое для изменения самого объекта swagger
TD;DR: конечная точка возвращается
204
, но чванство говорит, что возвращается
200
. Как исправить чванство?