2016-09-26 4 views
0

서버가 있었는데 기존 서비스와 동일한 논리를 가진 서비스를 추가했습니다. 그래서이 코드를 가지고 :클라이언트에서 저지 응답 본문이 비어 있습니다.

@RolesAllowed({"authenticated", "administrator"}) 
    @Path("notifications/{uuid}") 
    @Produces("application/json") 
@GET 
public Response getNotifications(@Context SecurityContext sc, @PathParam("uuid") String uuid) { 
    UserPrincipal requestingUser = (UserPrincipal) sc.getUserPrincipal(); 
    CountNotiListItem notifications = customerService.getNotifications(requestingUser, uuid); 
    return Response.ok().entity(notifications).build(); 
} 

알림 개체가 null이 아닙니다. 응답이 만들어지고 다른 서비스와 동일한 형식을 갖지만 클라이언트 측에서 빈 "_body"[20000 OK 응답이 있습니다 [_body : {}] 왜 null입니까? _body를 채우기 위해 더 많은 것을 수정해야합니까?

답변

1

CountNotiListItem을 JSON에서/JSON으로 직렬화 및 비 직렬화하려는 테스트 사례가 있습니까? notifications이 실제로 비어 있지 않으면 해당 테스트에 표시됩니까? 그게 내 디버깅을 시작하는 것입니다.

+0

실제로 serialize 및 de-serialize 할 코드를 추가해야하는지 잘 모르겠습니다. 나는 그것을 추가해야한다고 맹세했다. 그러나 프로젝트가 이미 만들어 졌기 때문에 (이전의 일을 위해) 나는이 서비스를 추가해야한다. 나는 그것이 어떻게 작동하는지 모른다 (나는 봄/저지 서비스로 일한 적이 없다). 이 작업이 포함되어 있다면 어디에 도와주십시오. 나는 각 물건 안에 무엇이 있는지 보여줍니다. notifications => 4 개의 속성을 가진 개체. Response.ok(). 엔터티 (알림) .build() => {엔터티 = CountNotiListItem 알림 개체, entityType = me.tomsen.restapi.eib.api.CountNotiListItem, 헤더 = {}, statustype = OK} –

+0

해야할까요? "me.tomsen.restapi.eib.api.CountNotiListItem"에 직렬화 및 비 직렬화 코드를 추가 하시겠습니까? –

+1

그게 달려 있습니다. 다른 호출이 작동하면서 Jersey에 등록 된 JSON 공급자가 있다고 가정합니다. 적절한 주석을 포함 할 가능성이 가장 높습니다. 반환되는 클래스를 살펴보십시오. 가장 가능성있는 @XmlRootElement – Friso

관련 문제