Kjøre prosjektet
Starte applikasjonene
FS-plattform består av flere applikasjoner.
Starte applikasjonsserveren Wildfly
What is Wildfly?
WildFly, formerly known as JBoss AS (Application Server), is an open-source Java-based application server developed by Red Hat. It is designed to provide a runtime environment for Java EE (Enterprise Edition) applications, allowing developers to deploy, manage, and run enterprise Java applications and services.
WildFly is commonly used in enterprise environments for hosting Java applications, including web applications, microservices, and more. It has gained popularity for its performance, scalability, and support for modern Java technologies.
I et terminalvindu navigerer du til mappen fsapi-rest\fsapi-rest og starter webapplikasjonsserveren Wildfly
med kommandoen mvn wildfly:dev.
dev-watch betyr at en applikasjonen starter på en måte som gjør at endringer i koden automatisk blir re-kompilert og aktivert.
PS C:\Users\ditt_brukernavn\dev\fs-plattform> cd fsapi-rest\fsapi-rest
PS C:\Users\ditt_brukernavn\dev\fs-plattform\fsapi-rest\fsapi-rest> mvn wildfly:dev
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< no.fellesstudentsystem:fsapi-rest >------------------
[INFO] Building fsapi-rest 2.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
... (en del linjer slettet) ...
09:50:40,530 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 40) WFLYUT0021: Registered web context: '/' for server 'default-server'
09:50:40,628 INFO [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0010: Deployed "ROOT.war" (runtime-name : "ROOT.war")
Wildfly med Gemini (RestAPI)
Når Wildfly er startet får du tilgang til Gemini (RestAPIet). Du kan kjøre spørringer mot Gemini med en Rest-klient:
# GET http://127.0.0.1:8080/api/institusjoner
# BODY
{
"nextPage": "http://localhost:8080/api/institusjoner?after=NDY6ODMy",
"items":[
{
"institusjonId": "NDY6MA",
"institusjonsnummer": "0",
"forkortelse": "UwB",
"navn":{"eng": "University of Bialystok", "nob": "Uniwersytet w Bialymstoku", "nno": "Nynorsk navn",…},
"godkjentForSemesteravgift": false,
"besoksadresse":{"co": "Adresselinje 1", "gate": "Adresselinje 2", "postnummerOgSted": "0101 OSLO", "land": "Adresseland"…},
"telefon":{"landnummer": "47", "nummer": "78998", "merknad": "Telefonmerknad"},
"fax":{"landnummer": "47", "nummer": "789745"},
"nsdInstitusjonskode": "111",
"landId": "NjI6MTMx",
"by": "Bialystok",
"region": "En region",
"erasmusKode": "PL BIALYST04",
"url":{"und": "https://www.vg.no"},
"alternativtNavn":{"und": "alternativt navn"},
"schacHomeOrganization": "111",
"fusjonert": true,
"akkreditert": true,
"akkrediteringsperiode":{"fra": "2010", "til": "2099"},
"akkrediteringskilde": "Internett",
"aktiv": true,
"felleskode": false
},
...
Wildfly med Voyager og GraphiQl
Når Wildfly startet får du tilgang til to brukergrensesnitt for GraphQL - Voyager, en applikasjon som visualiserer GraphQL-apiet og GraphiQL som lar oss skrive og kjøre GraphQL-spørringer mot APIet.
-
GraphiQL - localhost:8080/docs/graphql/graphiql lar oss skrive og kjøre GraphQL-spørringer mot APIet

-
Voyager - localhost:8080/docs/graphql/voyager lar oss visualisere og utforske APIet

Redoc med Gemini (FS-API) sin OpenAPI-spesifikasjon
Gemini sin OpenAPI-spesifikasjon kjøres med 'Redoc community edition'. Wildfly og Redoc kjører i utgangspunktet begge på port 8080.
Derfor bør du angi en annen port når du vil kjøre Redoc. Du kan f.eks. angi --port=8081 som vi gjør her.
Dersom den porten du angir allerede er i bruk, er det bare å prøve en annen port.
Gemini sin OpenAPI-spesifikasjon kan kjøres med følgende kommando
npx @redocly/openapi-cli preview-docs fsapi.v2.yaml --port=8081 fra katalogen fsapi-rest\fsapi-rest-spec
PS C:\Users\ditt_brukernavn\dev\fs-plattform> cd fsapi-rest\fsapi-rest-spec
PS C:\Users\ditt_brukernavn\dev\fs-plattform\fsapi-rest\fsapi-rest-spec> npx @redocly/openapi-cli preview-docs fsapi.v2.yaml --port=8081
Using Redoc community edition.
Login with openapi-cli login or use an enterprise license key to preview with the premium docs.
🔎 Preview server running at http://127.0.0.1:8081
Bundling...
👀 Watching fsapi.v2.yaml and all related resources for changes
Created a bundle for fsapi.v2.yaml successfully
Gemini-spesifikasjonen kjører nå på localhost:8081

Kjente problemer
Bli med på dokumentasjonsdugnaden ved å dokumentere løsningen på et passende sted i denne veilederen.