2014-09-04 89 views
2

我有一個包含REST服務組件的XPages頁面。我正在使用「documentJsonService」。XPage REST和日期格式

真棒組件和其他一切工作正常,但我有日期格式的問題,不知道該怎麼辦。

我從中讀取數據的Notes文檔包含具有適當日期的DateTime項目,例如, 01.09.2014(芬蘭文格式:dd.MM.yyyy)。 REST組件在「2014-09-01」(字符串)中返回日期。這可以。但是,當我使用相同的確切數據對服務器執行HTTP POST時,Domino會將「2014-09-01」字符串日期更改爲09.01.2014註釋日期時間項目。

不知道該怎麼辦。爲什麼Domino以格式A給出日期,當我以相同的格式給出時,會發生一些奇怪的事情。

這同樣發生在Linux和Windows環境中。 Domino版本是9.0.1。

已經表示感謝。我多少失去了這個「功能」:)

回答

1

我會說:按設計打破。據我所知,返回的JSON格式總是以yyyy-mm-dd的形式出現,而發佈時的格式取決於瀏覽器語言環境。你需要「圍繞它」。我更喜歡推出我自己的,我可以非常詳細地使用(更重要的是)在我寫回數據之前添加驗證。你可以找到一個樣本on my blog

基本上你實現這樣的一個bean:

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import com.ibm.domino.services.ServiceException; 
import com.ibm.domino.services.rest.RestServiceEngine; 
import com.ibm.xsp.extlib.component.rest.CustomService; 
import com.ibm.xsp.extlib.component.rest.CustomServiceBean; 

public class CustomSearchHelper extends CustomServiceBean { 

    @Override 
    public void renderService(CustomService service, RestServiceEngine engine) throws ServiceException { 

     HttpServletRequest request = engine.getHttpRequest(); 
     HttpServletResponse response = engine.getHttpResponse(); 

     response.setHeader("Content-Type", "application/json; charset=UTF-8"); 

     // Your code goes here! 

    } 
} 

你需要使用什麼方法GETPOST的要求來檢查,但隨後就容易繼續。當你在:OpenNTF Domino API讓你的生活更輕鬆。