Domino REST服务 - 无法从GET Call

时间:2017-12-01 03:46:11

标签: rest domino-designer-eclipse

我似乎无法将json传递给serviceBean中的GET调用。

    <xe:restService id="restService1" pathInfo="getaccount">
    <xe:this.service>
    <xe:customRestService requestContentType="application/json" serviceBean="web.service.GetAccount" contentType="application/json"/>
    </xe:this.service>
    </xe:restService>

对于pathInfo,我尝试过pathInfo =“getaccount”,pathInfo =“getaccount / {id}”,pathInfo =“getaccount {id}”

serviceBean:

    public class GetAccount extends CustomServiceBean {

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

            XspOpenLogUtil.logEvent(null, "getAccount()", Level.INFO, null);

            Map parameters = engine.getHttpRequest().getParameterMap();
            XspOpenLogUtil.logEvent(null, "getAccount() - getHttpRequest().getParameterMap(): " + parameters.toString(), Level.INFO, null);

            String json_string = IOUtils.toString(engine.getHttpRequest().getInputStream(), "UTF-8");
            XspOpenLogUtil.logEvent(null, "getAccount() - jsonReaderString: " + json_string, Level.INFO, null); }

如果我改为POST,我可以获得json_string,但我应该能够执行GET并发送一些json,即{“id”:“1234”}

将SoapUI与资源一起使用为api.xsp / getaccount {id},参数Name = id和Value = 1234

谢谢, 斯科特。

1 个答案:

答案 0 :(得分:0)

我明白了。您可以使用engine.getHttpRequest().getRequestURI(),它会为您提供输入的URI,例如api.nsf/api.xsp/getaccount/Bob.Smith%40mail.com。运行URLDecode以清除编码。

希望这有助于其他人试图解决这个问题。

斯科特。