首页 > 解决方案 > 如何将查询参数传递给 Sling 模型导出器

问题描述

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

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

我知道它可以创建一个 sling servlet,但是可以使用 Sling 模型导出器来实现吗?

标签: aem

解决方案


您可以在模型中注入SlingHttpServletRequest,并从中获取请求参数。无论是在吸气剂中还是在您的@PostConstruct方法中。

但是没有可用于 RequestParameters 的注入器。这是出于安全原因。因此,如果您只使用@Inject,则不会发生注入不需要的值。

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


推荐阅读