Я хотел бы создать пользовательскую страницу 404 в akka-http (DSL высокого уровня). В основном это означает:Akka-http custom 404 страница
- Возврат страницы из моей статической папки (например, ресурсы/WWW/404.html)
- Установите код результата в ResultCodes.NOT_FOUND
То, что я пытался до сих пор:
- getFromResource - я могу вернуть объект, но я не могу понять, как переопределить код результата HTTP для ответа, поэтому я могу установить его на «404».
- complete() - Я могу вернуть правильный код, но мне нужно прочитать html-страницу вручную и построить HttpResponse с нуля. В конечном итоге это работает, но это немного громоздко.
Я что-то упустил? Есть ли более простой способ вернуть страницу и настроить код результата?
@WillIAm Добро пожаловать. Я согласен, что это не так просто, как «один лайнер», но я не понимаю, как это будет возможно. Создание ответа 404 с сущностью - это то же самое действие, что и создание ответа 400 с сущностью. В шаблоне достаточно расхождения, что я не думаю, что библиотека могла бы улучшить многословие. Я обновил ответ, чтобы сделать его более похожим на библиотечную функцию util, по крайней мере, вам нужно только написать его один раз ... –
К сожалению, я удалил свой предыдущий комментарий по ошибке (но не было ничего важного, просто спасибо и жалуясь, что это было не очень просто :). BTW, на ваш код я получаю ошибку компиляции в строке staticResponse = ... (ожидается Seq [HttpHeader], фактический HttpEnttity.Chunked) –
@WillIAm Ответ обновлен, чтобы исправить ошибку компиляции. –