Я создал API RESTful, используя Spray.io. Он содержит несколько конечных точек, каждый из которых возвращает JSON. Я использую маршаллер Spray JSON для маршалирования своих внутренних объектов на JSON, которые возвращаются пользователю. Так что у меня есть что-то подобное ...Spray.io - Удаление полей из ответа
respondWithMediaType(`application/json`) {
complete(MyResponse(username, password))
}
Где MyResponse случай класс ...
case class MyResponse(username:String, password:String)
Однако я хочу, чтобы выбрать поля, которые возвращаются в ответе. Поэтому в этом случае я хочу удалить поле «пароль» до его возврата. Каков наилучший способ сделать это с помощью Spray?
Thanks
Почему бы не создать класс case 'PasswordLessResponse' вместо перехватов для десериализации' MyResponse' по-разному. –
hhhmmm, может быть, я уже думал об этом ... Итак, я бы просто вернул пользовательский объект, выбирая поля, которые мне нужны, в полной директиве? – fatlog
Так я бы справился с этим. Вы всегда можете создать базовый признак или абстрактный класс для хранения общих полей, чтобы пользовательские классы классов расширяли базу. На данный момент это может быть излишним, но может быть жизнеспособным в будущем. –