Skip to content

Commit 8e5de76

Browse files
authored
Oppgareder swagger til openapi 3 (#1164)
* Oppgareder swagger til openapi 3 + swagger-ui vha docker-compose * Fjerner spor av gammel io.swagger og swagger-codegen-cli * Fjerner en copy&past feil MicrosoftGraphApiMock.java
1 parent da3baae commit 8e5de76

File tree

90 files changed

+2853
-1675
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+2853
-1675
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ Interne henvendelser kan sendes via Slack i kanalen #vtp-chatten
3232
For utvikling på VTP benytt oppsett for å starte server gjennom IDE.
3333
I verdikjedetester benyttes oftest Docker-image av VTP. Dette bygges i VTP sin pipeline.
3434

35-
Når applikasjonen har startet blir Swagger tilgjengelig på http://localhost:8060/swagger/
35+
Når applikasjonen har startet blir Swagger konfigurasjonen tilgjengelig på http://localhost:8060/rest/openapi.json
36+
Swagger-ui kan startet vi docker-compose oppsett i /swagger-ui og blir da tilgjengelig på http://localhost:8061/swagger/
3637

3738
#### Starte backend-server via IDE
3839
* IntelliJ må konfigureres med å sette classpath of module til server, og sette working directory til `$MODULE_WORKING_DIR$` i run/debug-konfiguration.

kontrakter/pom.xml

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@
1919
<groupId>no.nav.foreldrepenger.vtp</groupId>
2020
<artifactId>testmodell</artifactId>
2121
</dependency>
22-
23-
<!-- 3dje parts biblioteker -->
2422
<dependency>
25-
<groupId>io.swagger</groupId>
26-
<artifactId>swagger-jaxrs</artifactId>
23+
<groupId>io.swagger.core.v3</groupId>
24+
<artifactId>swagger-annotations</artifactId>
2725
</dependency>
2826
</dependencies>
2927

kontrakter/src/main/java/no/nav/foreldrepenger/vtp/kontrakter/DødfødselhendelseDto.java

+6-7
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44

55
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
66

7-
import io.swagger.annotations.ApiModel;
8-
import io.swagger.annotations.ApiModelProperty;
7+
import io.swagger.v3.oas.annotations.media.Schema;
98

10-
@ApiModel(value = "DødfødselhendelseDto")
9+
@Schema(name = "DødfødselhendelseDto")
1110
@JsonIgnoreProperties(ignoreUnknown = true)
12-
public record DødfødselhendelseDto(@ApiModelProperty String endringstype,
13-
@ApiModelProperty String tidligereHendelseId,
14-
@ApiModelProperty String fnr,
15-
@ApiModelProperty LocalDate doedfoedselsdato) implements PersonhendelseDto {
11+
public record DødfødselhendelseDto(@Schema String endringstype,
12+
@Schema String tidligereHendelseId,
13+
@Schema String fnr,
14+
@Schema LocalDate doedfoedselsdato) implements PersonhendelseDto {
1615
}

kontrakter/src/main/java/no/nav/foreldrepenger/vtp/kontrakter/DødshendelseDto.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
66

7-
import io.swagger.annotations.ApiModel;
8-
import io.swagger.annotations.ApiModelProperty;
7+
import io.swagger.v3.oas.annotations.media.Schema;
98

10-
@ApiModel(value = "DødshendelseDto")
9+
10+
@Schema(name = "DødshendelseDto")
1111
@JsonIgnoreProperties(ignoreUnknown = true)
12-
public record DødshendelseDto(@ApiModelProperty String endringstype,
13-
@ApiModelProperty String tidligereHendelseId,
14-
@ApiModelProperty String fnr,
15-
@ApiModelProperty LocalDate doedsdato) implements PersonhendelseDto {
12+
public record DødshendelseDto(@Schema String endringstype,
13+
@Schema String tidligereHendelseId,
14+
@Schema String fnr,
15+
@Schema LocalDate doedsdato) implements PersonhendelseDto {
1616

1717
}

kontrakter/src/main/java/no/nav/foreldrepenger/vtp/kontrakter/FamilierelasjonHendelseDto.java

+7-8
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44

5-
import io.swagger.annotations.ApiModel;
6-
import io.swagger.annotations.ApiModelProperty;
5+
import io.swagger.v3.oas.annotations.media.Schema;
76

8-
@ApiModel(value = "FamilierelasjonHendelseDto")
7+
@Schema(name = "FamilierelasjonHendelseDto")
98
@JsonIgnoreProperties(ignoreUnknown = true)
10-
public record FamilierelasjonHendelseDto(@ApiModelProperty String endringstype,
11-
@ApiModelProperty String fnr,
12-
@ApiModelProperty String relatertPersonsFnr,
13-
@ApiModelProperty String relatertPersonsRolle,
14-
@ApiModelProperty String minRolleForPerson) implements PersonhendelseDto {
9+
public record FamilierelasjonHendelseDto(@Schema String endringstype,
10+
@Schema String fnr,
11+
@Schema String relatertPersonsFnr,
12+
@Schema String relatertPersonsRolle,
13+
@Schema String minRolleForPerson) implements PersonhendelseDto {
1514

1615
}

kontrakter/src/main/java/no/nav/foreldrepenger/vtp/kontrakter/FødselshendelseDto.java

+8-9
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,15 @@
55
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
66
import com.fasterxml.jackson.annotation.JsonProperty;
77

8-
import io.swagger.annotations.ApiModel;
9-
import io.swagger.annotations.ApiModelProperty;
8+
import io.swagger.v3.oas.annotations.media.Schema;
109

11-
@ApiModel(value = "FødselshendelseDto")
10+
@Schema(name = "FødselshendelseDto")
1211
@JsonIgnoreProperties(ignoreUnknown = true)
13-
public record FødselshendelseDto(@ApiModelProperty String endringstype,
14-
@ApiModelProperty String tidligereHendelseId,
15-
@ApiModelProperty String fnrMor,
16-
@ApiModelProperty String fnrFar,
17-
@ApiModelProperty String fnrBarn,
18-
@ApiModelProperty @JsonProperty("foedselsdato") LocalDate fødselsdato) implements PersonhendelseDto {
12+
public record FødselshendelseDto(@Schema String endringstype,
13+
@Schema String tidligereHendelseId,
14+
@Schema String fnrMor,
15+
@Schema String fnrFar,
16+
@Schema String fnrBarn,
17+
@Schema @JsonProperty("foedselsdato") LocalDate fødselsdato) implements PersonhendelseDto {
1918
}
2019

mocks/arbeidsforhold-mock/pom.xml

-4
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,5 @@
2121
<groupId>javax.ws.rs</groupId>
2222
<artifactId>javax.ws.rs-api</artifactId>
2323
</dependency>
24-
<dependency>
25-
<groupId>io.swagger</groupId>
26-
<artifactId>swagger-jaxrs</artifactId>
27-
</dependency>
2824
</dependencies>
2925
</project>

mocks/arbeidsforhold-mock/src/main/java/no/nav/tjeneste/virksomhet/arbeidsforhold/rs/AaregRSV1Mock.java

+13-14
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@
1818
import org.slf4j.Logger;
1919
import org.slf4j.LoggerFactory;
2020

21-
import io.swagger.annotations.Api;
22-
import io.swagger.annotations.ApiImplicitParam;
23-
import io.swagger.annotations.ApiImplicitParams;
24-
import io.swagger.annotations.ApiOperation;
21+
import io.swagger.v3.oas.annotations.Operation;
22+
import io.swagger.v3.oas.annotations.Parameter;
23+
import io.swagger.v3.oas.annotations.enums.ParameterIn;
24+
import io.swagger.v3.oas.annotations.tags.Tag;
2525
import no.nav.foreldrepenger.vtp.testmodell.inntektytelse.arbeidsforhold.Arbeidsforhold;
2626
import no.nav.foreldrepenger.vtp.testmodell.inntektytelse.arbeidsforhold.Arbeidsforholdstype;
2727
import no.nav.foreldrepenger.vtp.testmodell.repo.TestscenarioBuilderRepository;
2828

2929
@Path("aareg-services/api/v1/arbeidstaker")
3030
@Produces(MediaType.APPLICATION_JSON)
3131
@Consumes(MediaType.APPLICATION_JSON)
32-
@Api(tags = {"AARegister Rest"})
32+
@Tag(name = "AARegister Rest")
3333
public class AaregRSV1Mock {
3434

3535
private static final Logger LOG = LoggerFactory.getLogger(AaregRSV1Mock.class);
@@ -49,15 +49,14 @@ public AaregRSV1Mock(@Context TestscenarioBuilderRepository scenarioRepository)
4949
@SuppressWarnings("unused")
5050
@GET
5151
@Path("/arbeidsforhold")
52-
@ApiOperation(value = "Henter arbeidsforhold for en person")
53-
@ApiImplicitParams({
54-
@ApiImplicitParam(name = HEADER_NAV_PERSONIDENT, required = true, dataType = "string", paramType = "header"),
55-
@ApiImplicitParam(name = QPRM_FOM, dataType = "string", paramType = "query"),
56-
@ApiImplicitParam(name = QPRM_TOM, dataType = "string", paramType = "query"),
57-
@ApiImplicitParam(name = ARBEIDSFORHOLDTYPE, dataType = "string", paramType = "query"),
58-
@ApiImplicitParam(name = "sporingsinformasjon", dataType = "string", paramType = "query"),
59-
@ApiImplicitParam(name = QPRM_REGELVERK, dataType = "string", paramType = "query"),
60-
@ApiImplicitParam(name = "historikk", dataType = "string", paramType = "query")
52+
@Operation(description = "Henter arbeidsforhold for en person", parameters = {
53+
@Parameter(name = HEADER_NAV_PERSONIDENT, required = true, in = ParameterIn.HEADER),
54+
@Parameter(name = QPRM_FOM, in = ParameterIn.QUERY),
55+
@Parameter(name = QPRM_TOM, in = ParameterIn.QUERY),
56+
@Parameter(name = ARBEIDSFORHOLDTYPE, in = ParameterIn.QUERY),
57+
@Parameter(name = "sporingsinformasjon", in = ParameterIn.QUERY),
58+
@Parameter(name = QPRM_REGELVERK, in = ParameterIn.QUERY),
59+
@Parameter(name = "historikk", in = ParameterIn.QUERY)
6160
})
6261
public List<ArbeidsforholdRS> hentArbeidsforholdFor(@Context HttpHeaders httpHeaders, @Context UriInfo uriInfo) {
6362
var ident = httpHeaders.getHeaderString(HEADER_NAV_PERSONIDENT);

mocks/axsys-enhetstilgang-mock/pom.xml

-4
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
<groupId>org.eclipse.jetty</groupId>
1919
<artifactId>jetty-http-spi</artifactId>
2020
</dependency>
21-
<dependency>
22-
<groupId>io.swagger</groupId>
23-
<artifactId>swagger-jaxrs</artifactId>
24-
</dependency>
2521
<dependency>
2622
<groupId>javax.ws.rs</groupId>
2723
<artifactId>javax.ws.rs-api</artifactId>

mocks/axsys-enhetstilgang-mock/src/main/java/no/nav/axsys/AxsysEnhetstilgangMock.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717

1818
import com.fasterxml.jackson.annotation.JsonProperty;
1919

20-
import io.swagger.annotations.Api;
21-
import io.swagger.annotations.ApiOperation;
20+
import io.swagger.v3.oas.annotations.Operation;
21+
import io.swagger.v3.oas.annotations.tags.Tag;
2222
import no.nav.foreldrepenger.vtp.testmodell.repo.TestscenarioBuilderRepository;
2323

2424
@Path("axsys-enhetstilgang/api/v1/tilgang/")
2525
@Produces(MediaType.APPLICATION_JSON)
26-
@Api(tags = {"Axsys/enhetstilgang"})
26+
@Tag(name = "Axsys/enhetstilgang")
2727
public class AxsysEnhetstilgangMock {
2828

2929
private static final Logger LOG = LoggerFactory.getLogger(AxsysEnhetstilgangMock.class);
@@ -34,7 +34,7 @@ public class AxsysEnhetstilgangMock {
3434
@SuppressWarnings("unused")
3535
@GET
3636
@Path("/{ident}")
37-
@ApiOperation(value = "Henter enhetstilgang for saksbehandlerident")
37+
@Operation(description = "Henter enhetstilgang for saksbehandlerident")
3838
public AxsysTilgangDto hentOrganisasjonAdresse(@PathParam("ident") String ident,
3939
@Context HttpHeaders httpHeaders,
4040
@Context UriInfo uriInfo) {

mocks/dkif-mock/pom.xml

-4
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@
2222
<artifactId>jersey-common</artifactId>
2323
<scope>test</scope>
2424
</dependency>
25-
<dependency>
26-
<groupId>io.swagger</groupId>
27-
<artifactId>swagger-jaxrs</artifactId>
28-
</dependency>
2925
</dependencies>
3026

3127
</project>

mocks/dkif-mock/src/main/java/no/nav/dkif/DigdirKrrProxyMock.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111
import javax.ws.rs.core.MediaType;
1212
import javax.ws.rs.core.Response;
1313

14-
import io.swagger.annotations.Api;
15-
import io.swagger.annotations.ApiOperation;
14+
import io.swagger.v3.oas.annotations.Operation;
15+
import io.swagger.v3.oas.annotations.tags.Tag;
1616
import no.nav.foreldrepenger.vtp.testmodell.repo.TestscenarioBuilderRepository;
1717
import no.nav.foreldrepenger.vtp.testmodell.repo.impl.BasisdataProviderFileImpl;
1818
import no.nav.foreldrepenger.vtp.testmodell.repo.impl.TestscenarioRepositoryImpl;
1919

20-
@Api(tags = {"digdir-krr-proxy"})
20+
@Tag(name = "digdir-krr-proxy")
2121
@Path("/digdir")
2222
public class DigdirKrrProxyMock {
2323

@@ -33,7 +33,7 @@ public DigdirKrrProxyMock() {
3333
@Path("/rest/v1/person")
3434
@Produces(MediaType.APPLICATION_JSON)
3535
@Consumes(MediaType.APPLICATION_JSON)
36-
@ApiOperation(value = "", notes = "Henter kontaktinformasjon for person")
36+
@Operation(description = "Henter kontaktinformasjon for person")
3737
public Response hentKontaktinformasjon(@HeaderParam(HEADER_NAV_PERSONIDENT) @NotNull String fnr,
3838
@HeaderParam(AUTHORIZATION) String authorizationHeader) {
3939
var spraak = hentUtForetrukketSpråkFraBruker(fnr);

mocks/dkif-mock/src/main/java/no/nav/dkif/DigitalKontaktinformasjonMock.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@
1212
import org.slf4j.Logger;
1313
import org.slf4j.LoggerFactory;
1414

15-
import io.swagger.annotations.Api;
16-
import io.swagger.annotations.ApiOperation;
15+
import io.swagger.v3.oas.annotations.Operation;
16+
import io.swagger.v3.oas.annotations.tags.Tag;
1717
import no.nav.foreldrepenger.vtp.testmodell.personopplysning.PersonIndeks;
1818
import no.nav.foreldrepenger.vtp.testmodell.personopplysning.Personopplysninger;
1919
import no.nav.foreldrepenger.vtp.testmodell.repo.TestscenarioBuilderRepository;
2020
import no.nav.foreldrepenger.vtp.testmodell.repo.impl.BasisdataProviderFileImpl;
2121
import no.nav.foreldrepenger.vtp.testmodell.repo.impl.TestscenarioRepositoryImpl;
2222

2323
@Deprecated(forRemoval = true)
24-
@Api(tags = {"dkif"})
24+
@Tag(name = "dkif")
2525
@Path("/api/v1/personer")
2626
public class DigitalKontaktinformasjonMock {
2727
private static final Logger LOG = LoggerFactory.getLogger(DigitalKontaktinformasjonMock.class);
@@ -39,7 +39,7 @@ public DigitalKontaktinformasjonMock() {
3939
@Path("/kontaktinformasjon")
4040
@Produces(MediaType.APPLICATION_JSON)
4141
@Consumes(MediaType.APPLICATION_JSON)
42-
@ApiOperation(value = "", notes = "Henter kontaktinformasjon for bruker")
42+
@Operation(description = "Henter kontaktinformasjon for bruker")
4343
public DigitalKontaktinfoResponsDto hentKontaktinformasjon(@HeaderParam(HEADER_NAV_PERSONIDENT) String fnr,
4444
@HeaderParam(AUTHORIZATION) String authorizationHeader,
4545
@HeaderParam(NAV_CALLID) String navCallid,

mocks/dokdist-mock/pom.xml

+2-6
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,13 @@
1818
<groupId>javax.ws.rs</groupId>
1919
<artifactId>javax.ws.rs-api</artifactId>
2020
</dependency>
21-
<dependency>
22-
<groupId>io.swagger</groupId>
23-
<artifactId>swagger-jaxrs</artifactId>
24-
</dependency>
2521
</dependencies>
2622

2723
<build>
2824
<plugins>
2925
<!-- activate the plugin -->
3026
<plugin>
31-
<groupId>io.swagger</groupId>
27+
<groupId>io.swagger.codegen.v3</groupId>
3228
<artifactId>swagger-codegen-maven-plugin</artifactId>
3329
<executions>
3430
<execution>
@@ -37,7 +33,7 @@
3733
</goals>
3834
<configuration>
3935
<!-- specify the swagger yaml -->
40-
<inputSpec>${basedir}/src/main/swagger/swagger.json</inputSpec>
36+
<inputSpec>${basedir}/src/main/swagger/swagger.yml</inputSpec>
4137
<!--<configHelp>true</configHelp> -->
4238
<language>jaxrs-cxf-cdi</language>
4339

mocks/dokdist-mock/src/main/java/no/nav/dokdistfordeling/DokdistfordelingMock.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,18 @@
99
import org.slf4j.Logger;
1010
import org.slf4j.LoggerFactory;
1111

12-
import io.swagger.annotations.Api;
13-
import io.swagger.annotations.ApiOperation;
12+
import io.swagger.v3.oas.annotations.Operation;
13+
import io.swagger.v3.oas.annotations.tags.Tag;
1414
import no.nav.dokdistfordeling.generated.model.DistribuerJournalpostRequestToModel;
1515
import no.nav.dokdistfordeling.generated.model.DistribuerJournalpostResponseToModel;
1616

17-
@Api(tags = {"Dokdist"})
17+
@Tag(name = "Dokdist")
1818
@Path("dokdist/v1/distribuerjournalpost")
1919
public class DokdistfordelingMock {
2020
private static final Logger LOG = LoggerFactory.getLogger(DokdistfordelingMock.class);
2121

2222
@POST
23-
@ApiOperation(value = "distribuer journalpost")
23+
@Operation(description = "distribuer journalpost")
2424
public Response distribuerjournalpost(DistribuerJournalpostRequestToModel request) {
2525
LOG.info("Distribuer journalpost request: [{}]", request);
2626

mocks/dokdist-mock/src/main/swagger/swagger.json

-1
This file was deleted.

0 commit comments

Comments
 (0)