优质校建设专题网站,做网站上传图片,搭建网站手机软件,php网站建设设计报告对于那些关注此博客的人来说#xff0c;难怪我倾向于大量使用InfluxDB。 我喜欢这样一个事实#xff0c;它是一个真正的单一用途的数据库#xff08;时间序列#xff09;#xff0c;具有许多功能#xff0c;并且还带有企业支持。 Spring也是我选择的工具之一。 因此难怪我倾向于大量使用InfluxDB。 我喜欢这样一个事实它是一个真正的单一用途的数据库时间序列具有许多功能并且还带有企业支持。 Spring也是我选择的工具之一。 因此在本博客中我们将把spring与micrometer和InfluxDB集成在一起。 我们的应用程序将是用于工作的rest api。 最初它会从GitHub的工作API如图所示取乔布斯在这里 。 让我们从pom开始 ?xml version 1.0 encoding UTF-8 ? project xmlns http://maven.apache.org/POM/4.0.0 xmlns:xsi http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd modelVersion 4.0 . 0 /modelVersion parent groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-parent/artifactId version 2.2 . 4 .RELEASE/version /parent groupIdcom.gkatzioura/groupId artifactIdDevJobsApi/artifactId version 1.0 -SNAPSHOT/version build defaultGoalspring-boot:run/defaultGoal plugins plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-compiler-plugin/artifactId configuration source 8 /source target 8 /target /configuration /plugin plugin groupIdorg.springframework.boot/groupId artifactIdspring-boot-maven-plugin/artifactId /plugin /plugins /build dependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-webflux/artifactId /dependency dependency groupIdorg.projectlombok/groupId artifactIdlombok/artifactId version 1.18 . 12 /version scopeprovided/scope /dependency /dependencies /project 让我们为GitHub添加Job Repository。 package com.gkatzioura.jobs.repository; import java.util.List; import org.springframework.http.HttpMethod; import org.springframework.stereotype.Repository; import org.springframework.web.reactive.function.client.WebClient; import com.gkatzioura.jobs.model.Job; import reactor.core.publisher.Mono; Repository public class GitHubJobRepository { private WebClient githubClient; public GitHubJobRepository() { this .githubClient WebClient.create( https://jobs.github.com ); } public MonoListJob getJobsFromPage( int page) { return githubClient.method(HttpMethod.GET) .uri( /positions.json?page page) .retrieve() .bodyToFlux(Job. class ) .collectList(); } } 工作模式 package com.gkatzioura.jobs.model; import lombok.Data; Data public class Job { private String id; private String type; private String url; private String createdAt; private String company; private String companyUrl; private String location; private String title; private String description; } 控制器 package com.gkatzioura.jobs.controller; import java.util.List; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.gkatzioura.jobs.model.Job; import com.gkatzioura.jobs.repository.GitHubJobRepository; import reactor.core.publisher.Mono; RestController RequestMapping ( /jobs ) public class JobsController { private final GitHubJobRepository gitHubJobRepository; public JobsController(GitHubJobRepository gitHubJobRepository) { this .gitHubJobRepository gitHubJobRepository; } GetMapping ( /github/{page} ) private MonoListJob getEmployeeById( PathVariable int page) { return gitHubJobRepository.getJobsFromPage(page); } } 最后但并非最不重要的主要应用程序。 com.gkatzioura; package com.gkatzioura; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration; SpringBootApplication EnableAutoConfiguration (exclude { ReactiveSecurityAutoConfiguration. class }) public class Application { public static void main(String[] args) { SpringApplication.run(Application. class , args); } } 在下一个博客中我们将与InfluxDB和测微仪集成。 翻译自: https://www.javacodegeeks.com/2020/02/spring-boot-and-micrometer-with-inlfuxdb-part-1-the-base-project.html