Gå til hovedinnhold

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.

Les mer på Wildfly.org

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.

Redoc med Gemini (FS-API) sin OpenAPI-spesifikasjon

info

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

Gemini

Kjente problemer

Har du en løsning på et problem som ennå ikke er dokumentert?

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