XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • Neutral
    • 2.1.1
    • 2.1
    • None
    • None

    Description

      We should implement some basic validation of endpoint configurations to avoid a situation like in 1) below the first line.

      • The below configs were all done in YAML under /tours/restEndpoints
      • The endpoint is called ep
      • No "PROBLEMS" announced in the Definitions app after registration of the erroneous config.
      • ENVs:
        • Ubuntu MATE 16.04
        • magnolia-enterprise-pro-demo-bundle-5.6.4-20180315.123450-32-tomcat-bundle

      1) A non-list definition of nodeTypes for ep:

      1a) The erry configuration:

      class: info.magnolia.rest.delivery.jcr.v2.JcrDeliveryEndpointDefinition
      workspace: website
      rootPath: /
      nodeTypes: mgnl:page
      

      1b) Console messages (upon saving this):

      2018-03-15 16:33:24,041 INFO  info.magnolia.rest.RestDispatcherServlet          : Endpoint ep is registered with base path: [context]/ep
      
      2018-03-15 16:33:24,041 INFO  agnolia.config.source.yaml.YamlConfigurationSource: Registered definition from YAML file [/tours/restEndpoints/ep.yaml]: [restEndpoint] definition [ep] with reference id: [ep] from module [tours] at [ep]
      

      1ca) A request that worked fine with the erry config:

      curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/ep/travel/about' -u superuser:superuser
      
      {"@name":"about","@path":"/travel/about","@id":"808ebe4c-72b2-49f1-b9f7-e7db22bce02f","@nodeType":"mgnl:page","jcr:createdBy":"admin","hideInNav":"false","mgnl:template":"travel-demo:pages/standard","mgnl:lastActivatedBy":"superuser","mgnl:lastActivated":"2018-03-15T15:17:16.842+01:00","jcr:created":"2018-03-15T15:16:42.616+01:00","mgnl:created":"2015-02-02T17:34:28.816+01:00","mgnl:createdBy":"superuser","title":"About","mgnl:lastModified":"2015-10-27T13:50:28.322+01:00","mgnl:activationStatus":"true","mgnl:lastModifiedBy":"superuser","@nodes":[]}
      

      1cb) A request that failed with the config (+stacktrace):

      curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/ep/?mgnl:lastModified\[lte\]=2015-06-03' -u superuser:superuser
      
      {"error":{"code":"unknown","message":null}}
      
      2018-03-15 16:35:55,760 ERROR info.magnolia.rest.RestExceptionMapper            : Exception thrown executing REST endpoint, returning 500
      java.lang.NullPointerException: null
      	at java.util.ArrayList.addAll(ArrayList.java:581) ~[?:1.8.0_151]
      	at info.magnolia.rest.delivery.jcr.QueryBuilder.nodeTypes(QueryBuilder.java:116) ~[magnolia-rest-content-delivery-2.1-SNAPSHOT.jar:?]
      	at info.magnolia.rest.delivery.jcr.v2.JcrDeliveryEndpoint$2.exec(JcrDeliveryEndpoint.java:226) ~[magnolia-rest-content-delivery-2.1-SNAPSHOT.jar:?]
      	at info.magnolia.rest.delivery.jcr.v2.JcrDeliveryEndpoint$2.exec(JcrDeliveryEndpoint.java:219) ~[magnolia-rest-content-delivery-2.1-SNAPSHOT.jar:?]
      	at info.magnolia.cms.security.JCRSessionOp.exec(JCRSessionOp.java:68) ~[magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.rest.delivery.jcr.v2.JcrDeliveryEndpoint.doSessionOperation(JcrDeliveryEndpoint.java:256) ~[magnolia-rest-content-delivery-2.1-SNAPSHOT.jar:?]
      	at info.magnolia.rest.delivery.jcr.v2.JcrDeliveryEndpoint.queryNodes(JcrDeliveryEndpoint.java:219) ~[magnolia-rest-content-delivery-2.1-SNAPSHOT.jar:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_151]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_151]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]
      	at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140) ~[resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:294) ~[resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:248) ~[resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:235) ~[resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402) [resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209) [resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:227) [resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) [resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) [resteasy-jaxrs-3.1.3.Final.jar:3.1.3.Final]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:?]
      	at info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:148) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.virtualuri.VirtualUriFilter.doFilter(VirtualUriFilter.java:98) [magnolia-virtual-uri-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:58) [magnolia-cache-core-5.6.1.jar:?]
      	at info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:67) [magnolia-cache-core-5.6.1.jar:?]
      	at info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:220) [magnolia-cache-core-5.6.1.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:89) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.RangeSupportFilter.doFilter(RangeSupportFilter.java:77) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:57) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.multisite.filters.CrossSiteSecurityFilter.doFilter(CrossSiteSecurityFilter.java:104) [magnolia-module-multisite-1.3.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.security.SecurityCallbackFilter.doFilter(SecurityCallbackFilter.java:84) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:94) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.module.site.filters.SiteMergeFilter.doFilter(SiteMergeFilter.java:119) [magnolia-site-1.2.1-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.multisite.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:120) [magnolia-module-multisite-1.3.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MultiChannelFilter.doFilter(MultiChannelFilter.java:83) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:127) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:64) [magnolia-module-enterprise-5.6.4-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:111) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.personalization.preview.filter.PreviewFilter.doFilter(PreviewFilter.java:92) [magnolia-personalization-preview-app-1.5.2.jar:?]
      	at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:80) [magnolia-personalization-integration-1.5.2.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:80) [magnolia-personalization-integration-1.5.2.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:80) [magnolia-personalization-integration-1.5.2.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.personalization.trait.AbstractTraitDetectorFilter.doFilter(AbstractTraitDetectorFilter.java:80) [magnolia-personalization-integration-1.5.2.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:155) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:128) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:110) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:96) [magnolia-core-5.6.3-SNAPSHOT.jar:?]
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.5]
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.5]
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [catalina.jar:8.5.5]
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) [catalina.jar:8.5.5]
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.5]
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.5.5]
      	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) [catalina.jar:8.5.5]
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.5]
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) [catalina.jar:8.5.5]
      	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784) [tomcat-coyote.jar:8.5.5]
      	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.5]
      	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) [tomcat-coyote.jar:8.5.5]
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) [tomcat-coyote.jar:8.5.5]
      	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.5]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
      	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.5]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
      

      2 ) A correctly functioning configuration (just for comparison)

      2a) The configuration:

      class: info.magnolia.rest.delivery.jcr.v2.JcrDeliveryEndpointDefinition
       workspace: website
       rootPath: /
       nodeTypes:
       - mgnl:page
      

      2b) Console messages (upon saving this):

      2018-03-15 16:25:07,674 INFO  info.magnolia.rest.RestDispatcherServlet          : Endpoint ep is registered with base path: [context]/ep
      
      2018-03-15 16:25:07,674 INFO  agnolia.config.source.yaml.YamlConfigurationSource: Registered definition from YAML file [/tours/restEndpoints/ep.yaml]: [restEndpoint] definition [ep] with reference id: [ep] from module [tours] at [ep]
      

      2ca) A request that worked fine with the config:

      curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/ep/travel/about' -u superuser:superuser
      
      {"@name":"about","@path":"/travel/about","@id":"808ebe4c-72b2-49f1-b9f7-e7db22bce02f","@nodeType":"mgnl:page","jcr:createdBy":"admin","hideInNav":"false","mgnl:template":"travel-demo:pages/standard","mgnl:lastActivatedBy":"superuser","mgnl:lastActivated":"2018-03-15T15:17:16.842+01:00","jcr:created":"2018-03-15T15:16:42.616+01:00","mgnl:created":"2015-02-02T17:34:28.816+01:00","mgnl:createdBy":"superuser","title":"About","mgnl:lastModified":"2015-10-27T13:50:28.322+01:00","mgnl:activationStatus":"true","mgnl:lastModifiedBy":"superuser","@nodes":[]}
      

      2cb) Another request that worked fine with the config:

      curl -X GET 'http://localhost:8080/magnoliaAuthor/.rest/ep/?mgnl:lastModified\[lte\]=2015-06-03' -u superuser:superuser
      
      {"results":[{"@name":"meta","@path":"/travel/meta","@id":"7ebd74f1-c6f7-4307-9953-afd549118a56","@nodeType":"mgnl:page","jcr:createdBy":"admin","hideInNav":"true","mgnl:template":"travel-demo:pages/standard","mgnl:lastActivatedBy":"superuser","jcr:created":"2018-03-15T15:16:42.722+01:00","mgnl:lastActivated":"2018-03-15T15:17:16.842+01:00","mgnl:created":"2015-02-02T20:58:23.939+01:00","mgnl:createdBy":"superuser","title":"Container for meta pages","mgnl:lastModified":"2015-06-03T20:37:49.283+02:00","mgnl:activationStatus":"true","mgnl:lastModifiedBy":"superuser","@nodes":[]}]}
      

      Checklists

        Acceptance criteria

        Attachments

          Issue Links

            Activity

              People

                hieu.nguyen Hieu Nguyen Duc
                mdrapela Martin DrĂ¡pela
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Checklists

                    Task DoR

                    Time Tracking

                      Estimated:
                      Original Estimate - 2d
                      2d
                      Remaining:
                      Remaining Estimate - 0d
                      0d
                      Logged:
                      Time Spent - 1d 5h Time Not Required
                      1d 5h