json Sping Boot 应用程序启动时的REST风格POST方法

4nkexdtk  于 2023-03-09  发布在  其他
关注(0)|答案(2)|浏览(107)

我需要发送一个JSON文件到API,API接收它并进一步处理。我遇到的主要问题是在应用程序启动时初始化POST方法。我已经创建了JSON文件,所以剩下的就是在应用程序启动时激活POST方法。我知道这是为了演示,但在Springs文档中仍然没有找到类似的内容。
基本上,当SpringBoot应用程序运行时,它做的第一件事就是调用post方法并将这些JSON文件发送到API。

r9f1avp5

r9f1avp51#

您可以通过以下几种方式来完成此操作:

  • 使用EventListner处理程序(这是我喜欢的)
  • 使用具有逻辑的@PostConstruct创建Configuration-这是我不喜欢的,因为它可能并不总是在启动后运行的,在这种情况下,我们需要RestTemplate,因此我们需要考虑配置类的Order,我认为我们应该尽可能避免这种情况。

对于EventListener,您可以拥有在ApplicationStartedEvent上执行的以下组件。

@Component
public class AppStartupEventHandler {

    private static final Logger LOGGER = LoggerFactory.getLogger(AppStartupEventHandler.class);

    @EventListener
    public void onApplicationStartUp(ApplicationStartedEvent event) {
        // Have your start business here - or better delegate
        LOGGER.info("This is triggered post startup");
    }

}

更多细节可以在官方文档中找到

af7jpaap

af7jpaap2#

可以使用ApplicationReadyEvent侦听器。应用程序将在启动时执行一次。请确保记录/类应为组件。

@Component
public record AppStartupRunner() {
    @EventListener(ApplicationReadyEvent.class)
    public void init() throws IOException {
       // call your post method here
    }
}

相关问题