如何将查询参数传递给Sling模型导出器



我必须实现一个API,其中API应该导出JSON数据。例如,有一个容器组件和许多子组件。假设,容器组件包含国家,子组件是强大的不同州及其人口等。

因此,API的职责是根据州名称或其他查询参数搜索人口。我正在考虑使用Sling模型导出器的选项之一,因为我不必编写Sling servlet,而且很容易将子组件导出为json,但问题是,我找不到将请求参数传递给Sling模型的选项。例如http://some.com/country/jcr:content/parent-component.model.json将给出子组件的结果,但在这里,我如何将请求参数传递给特定状态的模型端点?

我知道可以创建一个sling servlet,但可以使用sling模型导出器吗?

您可以在模型中注入SlingHttpServletRequest,并从中获取请求参数。在getter或@PostConstruct方法中。

但是没有可用于RequestParameters的注入器。这是出于安全考虑。因此,如果您只使用@Inject,那么就不可能注入不需要的值。

PS:@RequestAttribute注入器用于请求属性,这些属性是NOT查询参数。

我确实遇到了完全相同的问题,看起来吊带模型导出器正在删除参数,但我使用request.getHeader("referrer"(解决了这个问题,它为我们提供了完整的URL,包括我们可以从中提取参数的参数。

最新更新