Skip to content

ohjelmistoprojekti-t4/Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tiimi 4 REST API Dokumentaatio

Linkki apiin
Linkki react-sovellukseen joka käyttää tätä apia

DATABASE

Luokkakaavio

Taulujen nimet:

questions -- (Kysymys-objektit),
options -- (Kysymyksissä käytetyt vaihtoehto-objektit),
surveys -- (Kysely-objektit),
userAnswers -- (Käyttäjän vastaus kysymykseen -objektit),
answerSets -- (Objektit, joihin tallennetaan käyttäjän vastaukset sekä vastaajan sessio-objekti),
uniqueUserSessions -- (Vastaajan sessio-objektit)

GET

Spring Data REST vakiokäytännöt

/api         -- Näyttää kaikki taulut
/api/taulunnimi         -- Näyttää taulukohtaisen datan ja/tai linkit liittyviin tauluihin

Käyttöesimerkki: /api/questions
Palauttaa:

{
  "_embedded" : {
    "questions" : [ {
      "id" : 3062,
      "question" : "avoin1",
      "type" : 3,
      "survey" : {
        "id" : 3061,
        "name" : "Kysely1"
      },
      "_links" : {
        "self" : {
          "href" : "https://team4back.herokuapp.com/api/questions/3062"
        },
        "question" : {
          "href" : "https://team4back.herokuapp.com/api/questions/3062"
        },
        "answers" : {
          "href" : "https://team4back.herokuapp.com/api/questions/3062/answers"
        },
        "refQuestionSurvey" : {
          "href" : "https://team4back.herokuapp.com/api/questions/3062/refQuestionSurvey"
        },
        "options" : {
          "href" : "https://team4back.herokuapp.com/api/questions/3062/options"
        }
      }
    }, {
    ... seuraavan kysymyksen data 
    }, jne....

Custom GET endpoint

/getUserAnswerBySurvey/{id} -- Voi hakea kaikki tiettyyn kyselyyn liitetyt käyttäjien vastaukset

POST

Spring Data REST vakiokäytännöt

/api/taulunnimi      --     Luo objektin tietokantaan konstruktorien mukaisesti

Custom POST endpoint

/addQuestion voi lisätä kysymyksen sekä vaihtoehdot samanaikaisesti muodossa:

{
	"question" : "Kysymys01",
	"survey" : {
		"surveyId" : 1,
		"name" : "Survey01"
	},
	"type" : 1
	"options" : {
		"option1": "Kyllä",
		"option2" : "Ehkä",
		"option3" : "Ei"
	}
}

HUOM type attribuutti on määritelty seuraavanlaisesti:

1 = radio-monivalinta,
2 = checkbox-monivalinta,
3 = vapaamuotoinen tekstikenttäkysymys.

PUT

Spring Data REST vakiokäytännöt

/api/taulunnimi      --    Lähettämällä uuden objektin voi muokata olemassa olevaa

Custom PUT endpoint

/putQuestion/id voi muokata sekä kysymystä, että vaihtoehtoja samalla kutsulla muodossa:

{
    "id": 4,
    "question": "Ollakko vai eikö olla?",
    "type": 1,
	"options": [
		{
			"optionid": 9,
			"option" : "Siinäpä"
		},
		{
			"optionid": 10,
			"option" : "Vasta"
		},
		{
			"optionid": 11,
			"option" : "Pulma"
		}
	]
}



DELETE

Spring Data REST vakiokäytännöt

/api/taulunnimi/{id}     --     Poistaa objektin tietokannasta id:n perusteella

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages