STUDRAPP-tjenester

STUDRAPP-tjenestene inneholder tjenester for studentrapporter, for eksempel til timeplan-systemer og Lånekassen.

Alle tjenestene kan brukes, men Lånekasse-tjenestene er det Lånekassen som bestemmer endringer i, og timeplanstjenestene er utviklet i samarbeid med UiO, men disse kan man se nærmere på i samarbeid med UiO dersom det er spesielle behov.

Eksempler

Alle Java-eksempler benytter seg av Apache HTTP Client

Alle eksempler går mot vår kurs/utv-base så eventuelle data man ser her er fiktive.

Tilgjengelige grensesnitt

 

Oppslag i godkjenningssaker for Lånekassen

Denne tjenesten slår opp i godkjenningssaker for en student. Denne tjenesten brukes av Lånekassen for å sjekke om en student har et gyldig utenlandsopphold i.f.m. stipend. Dette er en POST-metode som tar en xml-spørring som parameter og returnerer en xml som svar.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/lanekassen/delstudier
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/lanekassen/delstudier

Eksempel på XML-spørring

<delstudie>
	<fnr>9539190153</fnr>
	<instnr>1234</instnr>
	<delstudie_start dtf="yyyy-MM-dd">2014-01-01</delstudie_start>
	<delstudie_slutt dtf="yyyy-MM-dd">2015-12-31</delstudie_slutt>
</delstudie>

Java eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;

public class GetDelstudier {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/lanekassen/delstudier";

    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpPost post = new HttpPost(theUrl);

        List<NameValuePair> parameters = new ArrayList<NameValuePair>();
        parameters.add(new BasicNameValuePair("xml", "<delstudie><fnr>9539190153</fnr><instnr>1234</instnr><delstudie_start dtf=\"yyyy-MM-dd\">2014-01-01</delstudie_start><delstudie_slutt dtf=\"yyyy-MM-dd\">2015-12-31</delstudie_slutt></delstudie>"));

        post.setEntity(new UrlEncodedFormEntity(parameters));
        HttpResponse response = client.execute(post);
        response.getEntity().writeTo(System.out);
    }
}

 

Hent undervisning for en student

Denne tjenesten henter undervisning for en student basert på år og termin. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt. Henter fra Undervisningsaktivitet og undervisningsmelding.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/undervisning?brukernavn=<brukernavn>&arstall=<årstall>&terminkode=<termin>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/undervisning?brukernavn=t<brukernavn>&arstall=<årstall>&terminkode=<termin>

  • brukernavn - Brukernavnet til studenten
  • arstall - Årstall man skal hente fra
  • terminkode - Ett-bokstavs terminkode (H/V)

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetUndervisning {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/undervisning?brukernavn=testbruker123&arstall=2015&terminkode=H";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

{  
   "timestamp":"2015-07-08T08:11:09Z",
   "semesterkode":"15h",
   "emner":[  
      {  
         "emnekode":"UND12",
         "terminnr":1,
         "fellesundervisning":[  
            {  
               "aktivitetkode":"1",
               "undervisningsformkode":"FOR"
            }
         ],
         "partiundervisning":[  
            {  
               "aktivitetkode":"2-1",
               "undervisningsformkode":"GR",
               "partinummer":1
            },
            {  
               "aktivitetkode":"3-2",
               "undervisningsformkode":"PRA-I",
               "partinummer":2
            }
         ]
      },
      {  
         "emnekode":"UND23",
         "terminnr":1,
         "fellesundervisning":[  

         ],
         "partiundervisning":[  
            {  
               "aktivitetkode":"2-2",
               "undervisningsformkode":"GR",
               "partinummer":2
            }
         ]
      },
      {  
         "emnekode":"UND14",
         "terminnr":1,
         "fellesundervisning":[  
            {  
               "aktivitetkode":"1-2",
               "undervisningsformkode":"FOR"
            },
            {  
               "aktivitetkode":"1-3",
               "undervisningsformkode":"FOR"
            },
            {  
               "aktivitetkode":"1",
               "undervisningsformkode":"FOR"
            },
            {  
               "aktivitetkode":"1-1",
               "undervisningsformkode":"FOR"
            },
            {  
               "aktivitetkode":"1-8",
               "undervisningsformkode":"FOR"
            },
            {  
               "aktivitetkode":"1-4",
               "undervisningsformkode":"FOR"
            },
            {  
               "aktivitetkode":"1-6",
               "undervisningsformkode":"FOR"
            },
            {  
               "aktivitetkode":"1-7",
               "undervisningsformkode":"FOR"
            },
            {  
               "aktivitetkode":"1-5",
               "undervisningsformkode":"FOR"
            }
         ],
         "partiundervisning":[  
            {  
               "aktivitetkode":"3-1",
               "undervisningsformkode":"KOL",
               "partinummer":1
            },
            {  
               "aktivitetkode":"2-4",
               "undervisningsformkode":"BASIS",
               "partinummer":4
            }
         ]
      }
   ]
}

 

Hent eksamener for en student

Denne tjenesten henter eksamener for en student basert på år og termin. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt. Henter fra Undervisningsaktivitet og undervisningsmelding.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/eksamen?brukernavn=<brukernavn>&arstall=<årstall>&terminkode=<termin>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/eksamen?brukernavn=t<brukernavn>&arstall=<årstall>&terminkode=<termin>

  • brukernavn - Brukernavnet til studenten
  • arstall - Årstall man skal hente fra
  • terminkode - Ett-bokstavs terminkode (H/V)

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetEksamen {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/eksamen?brukernavn=testbruker123&arstall=2015&terminkode=H";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

{  
   "timestamp":"2015-07-08T08:25:10Z",
   "semesterkode":"15h",
   "eksamener":[  
      {  
         "emnekode":"UNDPRA02",
         "ordninger":[  
            {  
               "navn":"Praksis 1. trinn",
               "eksamensdeler":[  
                  {  
                     "navn":"Praksis 1. trinn",
                     "form":"P"
                  }
               ]
            }
         ]
      },
      {  
         "emnekode":"UNDPRA03",
         "ordninger":[  
            {  
               "navn":"Praksis 1. trinn",
               "eksamensdeler":[  
                  {  
                     "navn":"Praksis 1. trinn",
                     "form":"P"
                  }
               ]
            }
         ]
      },
      {  
         "emnekode":"UND08",
         "ordninger":[  
            {  
               "navn":"Skriftlig eksamen",
               "eksamensdeler":[  
                  {  
                     "navn":"Skriftlig eksamen",
                     "form":"S"
                  }
               ]
            }
         ]
      }
   ]
}

 

Hent studieprogram for en student

Denne tjenesten henter studieprogram for en student. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt. Henter fra Undervisningsaktivitet og undervisningsmelding.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/studieprogram?brukernavn=<brukernavn>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/studieprogram?brukernavn=t<brukernavn>

  • brukernavn - Brukernavnet til studenten

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetStudieprogram {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/studieprogram?brukernavn=testbruker123";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

{
	"studieprogrammer":[
		{
			"programkode":"HFB3-SPR"
		},
		{
			"programkode":"KK24-SPR"
		}
	]
}

 

Hent aktive emner

Denne tjenesten henter aktive emner for et gitt semester. Dette er en GET-tjeneste som tar query-parametre og returnerer et JSON-objekt.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/aktiveemner?arstall=<årstall>&terminkode=<termin>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/aktiveemner?arstall=<årstall>&terminkode=<termin>

  • arstall - Årstall man skal hente fra
  • terminkode - Ett-bokstavs terminkode (H/V)

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetAktiveemner {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/aktiveemner?arstall=2015&terminkode=H";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

{  
   "semesterkode":"15h",
   "timestamp":"2015-07-08T08:35:13Z",
   "emner":[  
      {  
         "emnekode":"BIO1000",
         "terminnr":1,
         "stedkode":185140000,
         "emnenavn":"Grunnkurs i biologi"
      },
      {  
         "emnekode":"UND15",
         "terminnr":1,
         "stedkode":185150000,
         "emnenavn":"Undervisningskursemne"
      },
      {  
         "emnekode":"UND18",
         "terminnr":1,
         "stedkode":185150000,
         "emnenavn":"Undervisningskursemne"
      }
   ]
}

 

Hent emner med eksamen

Denne tjenesten henter emner som har eksamen for et gitt semester. Dette er en GET-tjeneste som tar query-parametre og returnerer et JSON-objekt.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/emner_eksamen?arstall=<årstall>&terminkode=<termin>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/emner_eksamen?arstall=<årstall>&terminkode=<termin>

  • arstall - Årstall man skal hente fra
  • terminkode - Ett-bokstavs terminkode (H/V)

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetAktiveemner {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/emner_eksamen?arstall=2015&terminkode=H";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

{
    "semesterkode": "15v",
    "timestamp": "2016-04-13T07:48:16Z",
    "emner": [
        {
            "emnekode": "NOR4390",
            "emnenavn": "Masteroppgave i nordisk, særlig norsk, litteraturvitenskap",
            "stedkode": "185 14 35 40",
            "versjonskode": "1"
        },
        {
            "emnekode": "ITA4190",
            "emnenavn": "Masteroppgave i italiensk språk",
            "stedkode": "185 14 34 60",
            "versjonskode": "1"
        },
        {
            "emnekode": "MAT0100V",
            "emnenavn": "Matematikk 2 for grunnskolelærere",
            "stedkode": "185 15 13 00",
            "versjonskode": "1"
        }
    ]
}

 

Hent undervisningsaktiviteter

Denne tjenesten henter undervisningsaktivteter for et gitt emne i et gitt semester. 

Dette er en GET-tjeneste som tar query-parametre og returnerer et JSON-objekt.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/undervisningsaktiviteter?arstall=<årstall>&terminkode=<termin>&emnekode=<emnekode>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/undervisningsaktiviteter?arstall=<årstall>&terminkode=<termin>&emnekode=<emnekode>

  • arstall - Årstall man skal hente fra
  • terminkode - Ett-bokstavs terminkode (H/V)
  • emnekode - Emnekoden man vil hente for

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetUndervisningsaktiviteter {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/undervisningsaktiviteter?arstall=2015&terminkode=H&emnekode=BIO1000";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

{  
   "semesterkode":"15h",
   "timestamp":"2015-07-08T08:42:58Z",
   "emnekode":"BIO1000",
   "versjonskode":"1",
   "terminer":[  
      {  
         "terminnr":1,
         "aktiviteter":[  
            {  
               "aktivitetkode":"1",
               "aktivitetsnavn":"Forelesning",
               "undformkode":"FOR",
               "undpartilopenr":null,
               "timeplan":[  
                  {  
                     "undplanlopenr":1,
                     "aktivitetsnavn":"Forelesning",
                     "plasser":"60",
                     "romtypekode":"AUD",
                     "klokkeslett-fra":"12:15:00+0100",
                     "klokkeslett-til":"15:00:00+0100",
                     "dato-fra":"2015-08-02",
                     "dato-til":"2015-12-12",
                     "timetall-pr-uke":2,
                     "dag":"MON",
                     "aar":2015,
                     "bygning":null,
                     "publiseres":"J",
                     "undformkode":"FOR",
                     "aktivitetkode-ref":null,
                     "undplanlopenr-ref":null,
                     "uker":"31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50",
                     "rom":[  
                        {  
                           "bygningkode":"FB",
                           "romkode":"A2"
                        }
                     ],
                     "personrolle":[  

                     ],
                     "fag":[  

                     ]
                  }
               ]
            }
         ]
      }
   ]
}

 

Oppdater undervisningsaktiviteter fra TP

Denne tjenesten oppdaterer undervisningsaktiviteter FS fra timeplanleggingssystemet til UiO (TP). Dette er en POST-tjeneste som tar Form-parametre og returnerer et JSON-objekt.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/oppdater_undakt/
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/oppdater_undakt;

  • institusjonsnr - Form-parameter Institusjonsnummer for undervisningsaktiviteten
  • json - Form-parameter JSON objekt med data til en undervisningsaktivitet med tihørende undervisningsplaner, rom og personroller som skal oppdateres.

 

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetListe {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/oppdater_undakt";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpPost post = new HttpPost(theUrl);

        post.setEntity(new StringEntity("json-objekt"));
        HttpResponse response = client.execute(post);
        response.getEntity().writeTo(System.out);
    }
}

Eksempler på json-objekt

Det er to måter å oppdatere en undervisniningsaktivitet. Med parametere eller med TPid i JSON-objektet. Se under for eksempler på begge måtene

Eksempel på JSON-objekt med TPID

{
  "properties": {
    "id": "02V-EXPHIL-1-1-1",
    "typename": "blabla",
    "timestamp" : "2018-08-21T07:40:30Z",
    "data" : [
	  {
        "id": "02V-EXPHIL-1-1-1-5",
        "undplanlopenr": 5,
        "klokkeslettstart": "14:15",
        "klokkeslettslutt": "16:00",
        "uker": "34,35,36,37,38,39,40,42,43,44,45,46,47,48",
        "startdato": "2018-08-20",
        "sluttdato": "2018-11-26",
        "dag": "M",
        "timeplanaktivitetsnavn": "LAb 2",
        "rom"  : [
          {
            "romkode" : "SR40",
            "bygningskode" : "NT"
          }
        ],
        "personrolle" : [
          {
            "brukernavn" : "16583790113",
            "rolle"      : "HOVEDLÆRER",
            "dato-start" : "2018-08-21",
            "dato-slutt" : "2018-11-28"
          }
        ]
	},	
	{
		"id": "02V-EXPHIL-1-1-1-4",
        "undplanlopenr": 4,
        "klokkeslettstart": "14:15",
        "klokkeslettslutt": "16:00",
        "uker": "34,35,36,37,38,39,40,42,43,44,45,46,47,48",
        "startdato": "2018-08-20",
        "sluttdato": "2018-11-26",
        "dag": "M",
        "timeplanaktivitetsnavn": "LAb",
        "rom"  : [
          {
            "romkode" : "SR40",
            "bygningskode" : "NT"
          }
        ],
        "personrolle" : [
          {
            "brukernavn" : "16583790113",
            "rolle"      : "HOVEDLÆRER",
            "dato-start" : "2018-08-21",
            "dato-slutt" : "2018-11-28"
          }
        ]	
	  }    
    ]
  }
}

Eksempel på JSON-objekt med parametere

{  
  "properties" : {
    "emnekode": "EXPHIL",
    "artermin": "02V",
    "versjonskode": "1",
    "terminnr": 1,
    "aktivitetkode": "1",
    "typename": "Type 2",
    "timestamp" : "2018-08-21T07:40:30Z",
    "data" : [
      {
        "undplanlopenr": 1,
        "klokkeslettstart": "14:15",
        "klokkeslettslutt": "16:00",
        "uker": "34,35,36,37,38,39,40,42,43,44,45,46,47,48",
        "startdato": "2018-08-20",
        "sluttdato": "2018-11-26",
        "dag": "M",
        "timeplanaktivitetsnavn": "Akt1",
        "rom": [
          {
            "romkode": "SR40",
            "bygningskode": "NT"
          }
        ],
        "personrolle": [
          {
            "brukernavn": "16583790113",
            "rolle": "HOVEDLÆRER",
            "dato-start": "2018-08-21",
            "dato-slutt": "2018-11-28"
          }
        ]
      },    
      {
        "undplanlopenr":  3,
        "klokkeslettstart": "14:15",
        "klokkeslettslutt": "16:00",
        "uker": "34,35,36,37,38,39,40,42,43,44,45,46,47,48",
        "startdato": "2018-08-20",
        "sluttdato": "2018-11-26",
        "dag": "M",
        "timeplanaktivitetsnavn": "Akt2",
        "rom"  : [
          {
            "romkode" : "SR40",
            "bygningskode" : "NT"
          }
        ],
        "personrolle" : [
          {
            "brukernavn" : "16583790113",
            "rolle"      : "HOVEDLÆRER",
            "dato-start" : "2018-08-21",
            "dato-slutt" : "2018-11-28"
          }
        ]
      }     
    ]
  }
}

Eksempel på svar

{
    "altOK": true,
    "antallIkkeOppdatert": 0,
    "rapporter": [
        {
            "timeplanId": "02V-EXPHIL-1-1-1-1",
            "tilbakemeldingTimeplan": "Timeplanen ble oppdatert.\n",
            "tilbakemeldingRom": "Status FS oppdatert: J. Rommet (SR40, NT) ble oppdatert.\n",
            "tilbakemeldingRoller": "Status FS oppdatert: J Personrollen (HOVEDLÆRER) ble oppdatert.\n"
        },
        {
            "timeplanId": "02V-EXPHIL-1-1-1-3",
            "tilbakemeldingTimeplan": "Timeplanen ble oppdatert.\n",
            "tilbakemeldingRom": "Status FS oppdatert: J. Rommet (SR40, NT) ble oppdatert.\n",
            "tilbakemeldingRoller": "Status FS oppdatert: J Personrollen (HOVEDLÆRER) ble oppdatert.\n"
        }
    ],
    "aktiviteterFraFS": [
        {
            "id": "2V-EXPHIL-1-1-1",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "1",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-1-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "14:15",
                    "klokkeslettslutt": "16:00",
                    "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48",
                    "startdato": "2018-08-20",
                    "sluttdato": "2018-11-26",
                    "dag": "M",
                    "merknad": "Oppdatert fra TP 06.09.2018",
                    "timeplanaktivitetsnavn": null,
                    "personrolle": [
                        {
                            "brukernavn": "16583790113",
                            "rolle": "HOVEDLÆRER",
                            "dato-start": "2018-08-21",
                            "dato-slutt": "2018-11-28"
                        }
                    ],
                    "rom": [
                        {
                            "romkode": "SR40",
                            "bygningskode": "NT"
                        }
                    ]
                },
                {
                    "id": "2V-EXPHIL-1-1-1-2",
                    "undplanlopenr": 2,
                    "klokkeslettstart": "14:15",
                    "klokkeslettslutt": "16:00",
                    "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48",
                    "startdato": "2018-08-20",
                    "sluttdato": "2018-11-26",
                    "dag": "M",
                    "merknad": "Oppdatert fra TP 04.09.2018",
                    "timeplanaktivitetsnavn": null,
                    "personrolle": [
                        {
                            "brukernavn": "16583790113",
                            "rolle": "HOVEDLÆRER",
                            "dato-start": "2018-08-21",
                            "dato-slutt": "2018-11-28"
                        }
                    ],
                    "rom": [
                        {
                            "romkode": "SR40",
                            "bygningskode": "NT"
                        }
                    ]
                },
                {
                    "id": "2V-EXPHIL-1-1-1-3",
                    "undplanlopenr": 3,
                    "klokkeslettstart": "14:15",
                    "klokkeslettslutt": "16:00",
                    "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48",
                    "startdato": "2018-08-20",
                    "sluttdato": "2018-11-26",
                    "dag": "M",
                    "merknad": "Oppdatert fra TP 06.09.2018",
                    "timeplanaktivitetsnavn": null,
                    "personrolle": [
                        {
                            "brukernavn": "16583790113",
                            "rolle": "HOVEDLÆRER",
                            "dato-start": "2018-08-21",
                            "dato-slutt": "2018-11-28"
                        }
                    ],
                    "rom": [
                        {
                            "romkode": "SR40",
                            "bygningskode": "NT"
                        }
                    ]
                },
                {
                    "id": "2V-EXPHIL-1-1-1-4",
                    "undplanlopenr": 4,
                    "klokkeslettstart": "14:15",
                    "klokkeslettslutt": "16:00",
                    "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48",
                    "startdato": "2018-08-20",
                    "sluttdato": "2018-11-26",
                    "dag": "M",
                    "merknad": "Oppdatert fra TP 04.09.2018",
                    "timeplanaktivitetsnavn": null,
                    "personrolle": [
                        {
                            "brukernavn": "16583790113",
                            "rolle": "HOVEDLÆRER",
                            "dato-start": "2018-08-21",
                            "dato-slutt": "2018-11-28"
                        }
                    ],
                    "rom": [
                        {
                            "romkode": "SR40",
                            "bygningskode": "NT"
                        }
                    ]
                },
                {
                    "id": "2V-EXPHIL-1-1-1-5",
                    "undplanlopenr": 5,
                    "klokkeslettstart": "14:15",
                    "klokkeslettslutt": "16:00",
                    "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48",
                    "startdato": "2018-08-20",
                    "sluttdato": "2018-11-26",
                    "dag": "M",
                    "merknad": "Oppdatert fra TP 04.09.2018",
                    "timeplanaktivitetsnavn": null,
                    "personrolle": [
                        {
                            "brukernavn": "16583790113",
                            "rolle": "HOVEDLÆRER",
                            "dato-start": "2018-08-21",
                            "dato-slutt": "2018-11-28"
                        }
                    ],
                    "rom": [
                        {
                            "romkode": "SR40",
                            "bygningskode": "NT"
                        }
                    ]
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-10",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "10",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-10-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "11:15",
                    "klokkeslettslutt": "13:00",
                    "uker": null,
                    "startdato": "2002-01-20",
                    "sluttdato": "2002-05-15",
                    "dag": "F",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-2",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "2",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-2-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "09:15",
                    "klokkeslettslutt": "11:00",
                    "uker": null,
                    "startdato": "2002-01-20",
                    "sluttdato": "2002-05-15",
                    "dag": "TI",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-3",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "3",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-3-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "09:11",
                    "klokkeslettslutt": "11:00",
                    "uker": null,
                    "startdato": "2002-01-20",
                    "sluttdato": "2002-05-15",
                    "dag": "O",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-4",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "4",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-4-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "09:11",
                    "klokkeslettslutt": "11:00",
                    "uker": "3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24",
                    "startdato": "2002-01-20",
                    "sluttdato": "2002-06-15",
                    "dag": "TO",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-5",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "5",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-5-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "09:11",
                    "klokkeslettslutt": "11:00",
                    "uker": null,
                    "startdato": "2002-01-20",
                    "sluttdato": "2002-05-15",
                    "dag": "F",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                },
                {
                    "id": "2V-EXPHIL-1-1-5-5",
                    "undplanlopenr": 5,
                    "klokkeslettstart": "14:15",
                    "klokkeslettslutt": "16:00",
                    "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48",
                    "startdato": "2018-08-20",
                    "sluttdato": "2018-11-26",
                    "dag": "M",
                    "merknad": "Oppdatert fra TP 03.09.2018",
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-6",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "6",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-6-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "11:15",
                    "klokkeslettslutt": "13:00",
                    "uker": null,
                    "startdato": "2002-01-20",
                    "sluttdato": "2002-05-15",
                    "dag": "M",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                },
                {
                    "id": "2V-EXPHIL-1-1-6-5",
                    "undplanlopenr": 5,
                    "klokkeslettstart": "14:15",
                    "klokkeslettslutt": "16:00",
                    "uker": "34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 47, 48",
                    "startdato": "2018-08-20",
                    "sluttdato": "2018-11-26",
                    "dag": "M",
                    "merknad": "Oppdatert fra TP 31.08.2018",
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-7",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "7",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-7-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "11:15",
                    "klokkeslettslutt": "13:00",
                    "uker": null,
                    "startdato": "2002-01-20",
                    "sluttdato": "2002-05-15",
                    "dag": "TI",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-8",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "8",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-8-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "11:15",
                    "klokkeslettslutt": "13:00",
                    "uker": null,
                    "startdato": "2002-01-15",
                    "sluttdato": "2002-05-15",
                    "dag": "O",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        },
        {
            "id": "2V-EXPHIL-1-1-9",
            "institusjonsnr": 185,
            "arstall": 2002,
            "terminkode": "VÅR",
            "terminnr": 1,
            "emnekode": "EXPHIL",
            "versjonskode": "1",
            "aktivitetkode": "9",
            "timeplaner": [
                {
                    "id": "2V-EXPHIL-1-1-9-1",
                    "undplanlopenr": 1,
                    "klokkeslettstart": "11:15",
                    "klokkeslettslutt": "13:00",
                    "uker": null,
                    "startdato": "2002-01-20",
                    "sluttdato": "2002-05-15",
                    "dag": "TO",
                    "merknad": null,
                    "timeplanaktivitetsnavn": null,
                    "personrolle": null,
                    "rom": null
                }
            ]
        }
    ]
}

Hente data for en student

Denne tjenesten henter ut data for en student. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt. Henter fra person, student, studieprogramstudent, registerkort, fakturareskontro, vurdkombmelding.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/studentdata?fnr=<fødselsnummer>&bruker=<brukernavn>&arstall=<årstall>&terminkode=<terminkode>&gyldig=<gyldig>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/studentdata?fnr=<fødselsnummer>&bruker=<brukernavn>&arstall=<årstall>&terminkode=<terminkode>&gyldig=<gyldig>

  • fnr - fødselsnummeret til studenten (overstyrer brukernavn dersom begge er gitt som parametre)
  • bruker - brukernavnet til studenten
  • arstall - Årstall man skal hente fra
  • terminkode - Terminkoden (V/H) det skal hentes fra
  • gyldig - Flagg (J/N): Dersom "Ja" eller ikke oppgitt settes følgende parametre og overstyrer eventuelle manuelt angitte parametre:
    • Arstall inneværende år [registerkort, fakturareskontro, vurdkombmelding]
    • Terminkode inneværende termin (V/H) [registerkort, fakturareskontro, vurdkombmelding]
    • Status_Reg_OK "J" [registerkort]
    • Status_Bet_OK "J" [registerkort]
    • StudentStatKode "AKTIV" [studieprogramstudent]

Kun fnr eller bruker er påkrevde parametre.

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetStudentdata {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/studentdata?bruker=04577690095&arstall=2015&gyldig=Nei";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

{
   "fornavn":"Natascha",
   "etternavn":"Gourova",
   "emailadresse":null,
   "telefonnrMobil":"+4712341234",
   "fodselsdato":45776,
   "personnr":90095,
   "studentnrTildelt":100077,
   "studieprogram":[
      {
         "studentStatKode":"AKTIV",
         "studieprogramKode":"FLERKULT"
      },
      {
         "studentStatKode":"AKTIV",
         "studieprogramKode":"BAFY-UIO"
      },
      {
         "studentStatKode":"INNDRATT",
         "studieprogramKode":"BAIV-NIH"
      },
      {
         "studentStatKode":"INNDRATT",
         "studieprogramKode":"BAVKFF-HIL"
      },
      {
         "studentStatKode":"INNDRATT",
         "studieprogramKode":"TEST"
      }
   ],
   "registerkort":[
      {
         "terminkode":"HØST",
         "arstall":2015,
         "statusRegOk":"J",
         "statusKvitteringSkrevet":null
      },
      {
         "terminkode":"VÅR",
         "arstall":2015,
         "statusRegOk":"J",
         "statusKvitteringSkrevet":null
      }
   ],
   "fakturareskontro":[
      {
         "terminkode":"VÅR",
         "arstall":2015,
         "statusBetalt":"J"
      }
   ],
   "vurdKombMelding":[
      {
         "emnekode":"AST2120",
         "terminkode":"HØST",
         "arstall":2015
      },
      {
         "emnekode":"AST2120",
         "terminkode":"HØST",
         "arstall":2015
      },
      {
         "emnekode":"AST2180",
         "terminkode":"HØST",
         "arstall":2015
      },
      {
         "emnekode":"AST2180",
         "terminkode":"HØST",
         "arstall":2015
      },
      {
         "emnekode":"AST2180",
         "terminkode":"HØST",
         "arstall":2015
      },
      {
         "emnekode":"AST2180",
         "terminkode":"HØST",
         "arstall":2015
      },
      {
         "emnekode":"VK3A",
         "terminkode":"HØST",
         "arstall":2015
      },
      {
         "emnekode":"TEST",
         "terminkode":"HØST",
         "arstall":2015
      },
      {
         "emnekode":"AST2110",
         "terminkode":"VÅR",
         "arstall":2015
      },
      {
         "emnekode":"FYS-MEK1100",
         "terminkode":"VÅR",
         "arstall":2015
      },
      {
         "emnekode":"FYS-MEK1100",
         "terminkode":"VÅR",
         "arstall":2015
      },
      {
         "emnekode":"MAT-INF1100",
         "terminkode":"VÅR",
         "arstall":2015
      },
      {
         "emnekode":"MAT-INF1100",
         "terminkode":"VÅR",
         "arstall":2015
      }
   ],
   "emailadressePrivat":"jkleiser+tor04@fsat.no",
   "semesteradrLinje2":null,
   "semesteradrLinje3":"1545 HVITSTEN"
}

 

Hente ut studenter med endrede data siden en angitt tid

Denne tjenesten henter ut brukernavn for alle studenter som har endrede data i basen siden en angitt tid. Dette er en GET-tjeneste som tar Query-parametre og returnerer et JSON-objekt.

URL for test: https://fs-test.uio.no/fsrest/rest/studrapp/endredeStudenter?siden=<java timestamp>
URL for prod: https://fsws.usit.no/fsrest/rest/studrapp/endredeStudenter?siden=<java timestamp>

  • siden - Java-tid (millisekunder siden 1. jan. 1970 kl. 00:00:00)

Java-eksempel

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class GetEndredeStudenter {

    private static String theUrl = "https://fs-test.uio.no/fsrest/rest/studrapp/endredeStudenter?siden=1466420231234";


    public static void main(String[] args) throws Exception {
        HttpHost target = new HttpHost("fs-test.uio.no", 443, "https");
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(
            new AuthScope(target.getHostName(), target.getPort()),
            new UsernamePasswordCredentials("brukernavn", "passord"));
        CloseableHttpClient client = HttpClients.custom()
            .setDefaultCredentialsProvider(credsProvider).build();

        AuthCache authCache = new BasicAuthCache();
        BasicScheme basicAuth = new BasicScheme();
        authCache.put(target, basicAuth);

        HttpClientContext localContext = HttpClientContext.create();
        localContext.setAuthCache(authCache);

        HttpGet get = new HttpGet(theUrl);

        HttpResponse response = client.execute(get);
        response.getEntity().writeTo(System.out);
    }
}

Eksempel på svar

{
   "endredeStudenter":[
      "23568590015",
      "13518290031",
      "28587890005",
      "29548190086"
   ]
}

 

Publisert 7. juli 2015 17:05 - Sist endret 18. feb. 2021 13:20