2011-09-20 4 views
0

나는 RESTful 웹 서비스를 만들었으며이 웹 서비스는 mysql 데이터베이스를 사용합니다. 이것은 Netbeans IDE를 사용하는 하우투에 따라 수행되었습니다.RESTful 웹 서비스 시간 값 문제

모두 하나의 작은 것 외에는 잘 작동합니다.

거기에 '시간'유형 (기본값 0시 0분 0초)로 설정 한 테이블이다하지만 난이 WADL에 액세스 할 때 몇 가지 이유로 내가 볼 수 :

<time>1970-01-01T17:00:00+01:00</time> 

내가 아니다 난 그냥 시간 값으로 변경하려면 어떻게

public void setDate(Date time) { 
    this.time = time; 
} 

: 아주 좋은 자바 프로그래머는하지만 난 넷빈즈이 만든 웹 서비스의 소스에서 본? 제가 사용할 수있는 표준 수업이 있습니까?

[편집]

나는 내가 넷빈즈 전쟁 파일을 생성 배포 된 글래스 피쉬 서버를 실행하고 있습니다.

튜토리얼은 데이터베이스에 넷빈즈와 MySQL

(netbeans.org/kb/docs/websvc/rest.html#entities-and-services)

답변

0

를 사용하여 시간을 편안 웹 서비스를 생성하기위한 값은 대개 날짜 부분을 무시한 긴 값으로 저장되기 때문에 날짜로 변환 될 때 날짜 값은 유닉스 에포크 값 (즉, 0)이됩니다.

저는 이것이 문제가되는지 확신 할 수 없습니다. 수신 측의 날짜로 다시 변환하면 날짜가 올바르게 설정됩니다.

편집 : 이 "시간"매개 변수를 정의하는 일종의 전송 개체가 있다고 가정합니다. 아니면 최대 절전 모드 또는 비슷한 개체를 나머지 xml 생성기 출력으로 사용하고 있습니까?

그렇다면 날짜에서 시간으로 데이터 유형을 변경해 보셨습니까?

또 다른 방법은 유형을 String으로 변경하고 setDate 메소드에서 SimpleDateFormat을 사용하여 원하는 형식으로 문자열을 가져 오는 것입니다.

+0

좋은 사운드는 있지만 날짜 대신 시간 값을 원합니다. – Metalmini

+0

API는 나머지 XML을 생성하는 데 사용하고 있습니까? – Mathias

+0

더 많은 제안으로 내 대답 편집 – Mathias

0

RESTful 웹 서비스에 의해 노출되는 유형은 YourTableFacadeREST 클래스에 정의됩니다. 해당 클래스에서 해당 메소드의 리턴 된 유형을 수정하십시오. EDITED 노출 된 개체가 더 복잡하고 날짜가 해당 개체의 "일부"인 경우 위의 아이디어가 작동하지 않는 것이 문제입니다. 아마 가장 좋은 해결책은 객체를 읽는 코드로 변환을 처리하는 것입니다.

목표가 데이터를 표시하는 것 (예 : GET 유형의 요청) 인 경우보기로 시도 할 수 있습니다. Jersey RESTful 웹 서비스를보기에는 한번도 해본 적이 없지만 GET 측에서 작동해야한다. 보기에는 datetime 필드가 날짜로 변환 된 원본 테이블이 표시되어야합니다. MySql에서 뷰를 생성하는 구문은 다음을 참조하십시오. http://dev.mysql.com/doc/refman/5.0/en/create-view.html

+0

의견을 주셔서 감사합니다. 내가 어떻게 그럴 수 있니? 왜냐하면 나는 누군가가 웹 서비스를 요청할 때 날짜 형식을 보여주고 싶지 않기 때문이다. 그냥 시간. (이렇게하면 요청을 쉽게 만들 수 있습니다.) – Metalmini