2014-09-04 88 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让你的生活更轻松。