2016-07-15 2 views
1

Ejbjax-rs을 사용하여 Restful api를 사용하는 웹 기반 응용 프로그램에서 android 클라이언트의 개체를 가져 오려고했습니다. 하지만 json 개체를 사용할 수 없습니다.jax-rs Json-rs에서 Json Object를 얻는 방법 편안한 웹 서비스

@Entity 
@Table(name = "events") 
@NamedQueries({ 
    @NamedQuery(name = Event.FIND_ALL,query="Select e from Event e") 
}) 
public class Event implements Serializable{ 

public static final String PREFIX="np.com.drose.data.modules.employee.domain.event."; 
public static final String FIND_ALL=PREFIX+"FIND_ALL"; 

@Id 
@GeneratedValue 
private int eventId; 

@Future 
@Temporal(TemporalType.DATE) 
private Date dateofEvent; 

private String content; 

private String header; 

private String place; 

private String specification; 

public int getEventId() { 
    return eventId; 
} 

public void setEventId(int eventId) { 
    this.eventId = eventId; 
} 

public Date getDateofEvent() { 
    return dateofEvent; 
} 

public void setDateofEvent(Date dateofEvent) { 
    this.dateofEvent = dateofEvent; 
} 

public String getContent() { 
    return content; 
} 

public void setContent(String content) { 
    this.content = content; 
} 

public String getHeader() { 
    return header; 
} 

public void setHeader(String header) { 
    this.header = header; 
} 

public String getSpecification() { 
    return specification; 
} 

public void setSpecification(String specification) { 
    this.specification = specification; 
} 

public String getPlace() { 
    return place; 
} 

public void setPlace(String place) { 
    this.place = place; 
} 

} 

이처럼 내 자원 클래스보기 :

@Path("secured") 
    @Stateless 
    public class EventAddResurces { 
    @Inject 
    EventServices eventServices; 


    @POST 
    @Path("/event/add") 
    @Consumes(MediaType.APPLICATION_JSON) 
    @Produces(MediaType.TEXT_PLAIN) 
    public Response getResponse(Event event){ 
     this.eventServices.addEvent(event); 
     return Response.ok().status(200).entity("Successfully added").build(); 
    } 
} 
+0

왜 일반 텍스트를 생산하고 있습니까? '@Produces (MediaType.TEXT_PLAIN)' – ck1

+0

m 잘못된 선생님 ??? –

+0

JSON으로 응답하려면'@Produces ("application/json")'을 사용해야합니다. – ck1

답변

1

사용 심지어 내가 변수 내 엔티티 클래스 같은

pojo 클래스 표정으로 모든 키 이름과 일치가 404 오류가 발생 Jackson's ObjectMapper와 같은 라이브러리를 사용하여 Event 객체를 JSON에 직렬화하고 데이터베이스에 저장합니다 (예 :

ObjectMapper objectMapper = new ObjectMapper(); 
String json = objectMapper.writeValueAsString(event); 
// Persist JSON string in database. 
+0

하지만 내가 자바 객체로 변환 jsonobject 필요합니다. –

+0

나는 당신의 문제를 쫓고 있는지 확신하지 못합니다. 서버상의'getResponse()'메쏘드에서,'event' 객체는 이미 자바 객체로 역 직렬화되었습니다. – ck1

+0

하지만이 경우 [ { "dateofEvent"의 널 값을 던지는 배달부로 확인하면 "2016년 8월 8일" "콘텐츠": "djksahjhsjkahkjhsakjdhksah" "헤더": "khdsaklhhdsah를" "place": "lkdjklsajlkjdlsa", "사양": "kdsajhlkdjsa" } ] –