2016-08-09 10 views
0

나는 Spray.io를 사용하여 RESTful API를 만들었습니다. 여기에는 JSON을 반환하는 여러 끝점이 포함되어 있습니다. 스프레이 JSON 마샬 러를 사용하여 내 내부 개체를 JSON으로 마샬링하여 사용자에게 반환합니다. 그래서 비슷한 ...Spray.io - 응답에서 필드 제거

MyResponse이 경우 클래스입니다
respondWithMediaType(`application/json`) { 
     complete(MyResponse(username, password)) 
     } 

...

case class MyResponse(username:String, password:String) 

그러나, 내가 응답에 반환되는 필드를 선택 할 수 있습니다. 따라서이 경우 "password"필드가 반환되기 전에 제거하고 싶습니다. 스프레이로이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

감사합니다.

+2

다양한 방법으로'MyResponse'를 역 직렬화하기 위해 후크를 점프하는 대신,'PasswordLessResponse' 사례 클래스를 생성하지 마십시오. –

+0

hhhmmm, 아마도 나는 이것을 생각하고있다. 그래서 완전한 지시어에 필요한 필드를 선택하는 커스텀 오브젝트를 반환하겠습니까? – fatlog

+0

그게 내가 다룰 수있는 방법입니다. 일반 특성을 보유 할 기본 특성 또는 추상 클래스를 작성하고 사용자 정의 케이스 클래스가 기본을 확장하도록 할 수 있습니다. 그것은 지금은 과잉 일지 모르지만 길 아래에서 실행 가능할 수 있습니다. –

답변

0

답변을 작성하는 중 질문이 있으십니까?

"왜 대신 다른 방법으로 MyResponse를 역 직렬화하는 후크를 점프의, PasswordLessResponse 케이스 클래스를 만들 수 없습니다"... 위의 Yuvals 제안 (그는 대답으로 추가하지 않은)으로 갔다 단지 관련 사건을 만들어 클래스 및 마샬 러 (marshaller)가 필요에 따라 채워지고 반환됩니다.

감사합니다. Yuval!