Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
park_quiz [2018-01-27 13:39] Joakim Forsgren |
park_quiz [2018-02-09 15:16] Joakim Forsgren |
||
---|---|---|---|
Line 9: | Line 9: | ||
===Programmering 2=== | ===Programmering 2=== | ||
- Skapa ett GUI för att först logga in och få tillbaka token om det gick bra (sparas). \\ Har du inte gjort ditt eget rest-API kan du testa med den url som finns nedan. | - Skapa ett GUI för att först logga in och få tillbaka token om det gick bra (sparas). \\ Har du inte gjort ditt eget rest-API kan du testa med den url som finns nedan. | ||
- | - Skapa sedan frågor med fyra svarsalternativ, | + | - Skapa sedan frågor med fyra svarsalternativ, |
- Skicka till servern med POST. \\ Har du inte gjort ditt eget rest-API kan du testa med den url som finns nedan. | - Skicka till servern med POST. \\ Har du inte gjort ditt eget rest-API kan du testa med den url som finns nedan. | ||
- Ta emot statuskod och visa upp om det lyckades eller inte, alternativt använd dig av undantag som genereras av GSON. | - Ta emot statuskod och visa upp om det lyckades eller inte, alternativt använd dig av undantag som genereras av GSON. | ||
Line 16: | Line 16: | ||
För att skicka information till servern använder vi den klass som hittas [[http:// | För att skicka information till servern använder vi den klass som hittas [[http:// | ||
För att tolka datan vi får från servern (Json) använder vi oss av Gson som kan laddas hem [[http:// | För att tolka datan vi får från servern (Json) använder vi oss av Gson som kan laddas hem [[http:// | ||
+ | För att få iordning klasser för tolkning av Gson kan [[http:// | ||
+ | |||
===Webbserverprogrammering 1=== | ===Webbserverprogrammering 1=== | ||
- | I denna kurs ska vi bygga ett REST-api med två endpoints. Vi måste även designa en databas för att lagra data i. Tips kan vara att installera ett plugin i chrome för att kunna undersöka sitt API, t.ex. Restlet. | + | I denna kurs ska vi bygga ett REST-api med några |
- | - Designa en databas för att lagra frågor | + | |
+ | Ni ska jobba utifrån denna {{ :: | ||
+ | |||
+ | - Designa en databas för att hantera användare, kategorier | ||
+ | -- phpMyAdmin SQL Dump | ||
+ | -- version 4.2.7.1 | ||
+ | -- http:// | ||
+ | -- | ||
+ | -- Värd: localhost | ||
+ | -- Tid vid skapande: 01 feb 2018 kl 21:59 | ||
+ | -- Serverversion: | ||
+ | -- PHP-version: | ||
+ | |||
+ | SET SQL_MODE = " | ||
+ | SET time_zone = " | ||
+ | |||
+ | -- | ||
+ | -- Databas: `quiz` | ||
+ | -- | ||
+ | |||
+ | -- -------------------------------------------------------- | ||
+ | |||
+ | -- | ||
+ | -- Tabellstruktur `categories` | ||
+ | -- | ||
+ | |||
+ | CREATE TABLE IF NOT EXISTS `categories` ( | ||
+ | `id` int(11) NOT NULL, | ||
+ | `category` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_swedish_ci NOT NULL | ||
+ | ) ENGINE=InnoDB | ||
+ | |||
+ | -- -------------------------------------------------------- | ||
+ | |||
+ | -- | ||
+ | -- Tabellstruktur `questions` | ||
+ | -- | ||
+ | |||
+ | CREATE TABLE IF NOT EXISTS `questions` ( | ||
+ | `id` int(11) NOT NULL, | ||
+ | `category_id` int(11) NOT NULL, | ||
+ | `question` varchar(255) COLLATE utf8mb4_swedish_ci NOT NULL, | ||
+ | `option1` varchar(255) COLLATE utf8mb4_swedish_ci NOT NULL, | ||
+ | `option2` varchar(255) COLLATE utf8mb4_swedish_ci NOT NULL, | ||
+ | `option3` varchar(255) COLLATE utf8mb4_swedish_ci NOT NULL, | ||
+ | `option4` varchar(255) COLLATE utf8mb4_swedish_ci NOT NULL | ||
+ | ) ENGINE=InnoDB | ||
+ | |||
+ | -- -------------------------------------------------------- | ||
+ | |||
+ | -- | ||
+ | -- Tabellstruktur `users` | ||
+ | -- | ||
+ | |||
+ | CREATE TABLE IF NOT EXISTS `users` ( | ||
+ | `id` int(11) NOT NULL, | ||
+ | `login` varchar(255) CHARACTER SET utf8 COLLATE utf8_swedish_ci NOT NULL, | ||
+ | `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_swedish_ci NOT NULL, | ||
+ | `token` varchar(255) CHARACTER SET utf8 COLLATE utf8_swedish_ci NOT NULL, | ||
+ | `token_datetime` datetime NOT NULL | ||
+ | ) ENGINE=InnoDB | ||
+ | |||
+ | -- | ||
+ | -- Index för dumpade tabeller | ||
+ | -- | ||
+ | |||
+ | -- | ||
+ | -- Index för tabell `categories` | ||
+ | -- | ||
+ | ALTER TABLE `categories` | ||
+ | ADD PRIMARY KEY (`id`); | ||
+ | |||
+ | -- | ||
+ | -- Index för tabell `questions` | ||
+ | -- | ||
+ | ALTER TABLE `questions` | ||
+ | ADD PRIMARY KEY (`id`), ADD KEY `category_id` (`category_id`); | ||
+ | |||
+ | -- | ||
+ | -- Index för tabell `users` | ||
+ | -- | ||
+ | ALTER TABLE `users` | ||
+ | ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `login` (`login`), ADD UNIQUE KEY `token` (`token`), ADD KEY `token_datetime` (`token_datetime`); | ||
+ | |||
+ | -- | ||
+ | -- AUTO_INCREMENT för dumpade tabeller | ||
+ | -- | ||
+ | |||
+ | -- | ||
+ | -- AUTO_INCREMENT för tabell `categories` | ||
+ | -- | ||
+ | ALTER TABLE `categories` | ||
+ | MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; | ||
+ | -- | ||
+ | -- AUTO_INCREMENT för tabell `questions` | ||
+ | -- | ||
+ | ALTER TABLE `questions` | ||
+ | MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; | ||
+ | -- | ||
+ | -- AUTO_INCREMENT för tabell `users` | ||
+ | -- | ||
+ | ALTER TABLE `users` | ||
+ | MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; | ||
+ | </ | ||
- Skapa en endpoint för att skapa en användare< | - Skapa en endpoint för att skapa en användare< | ||
$_POST ska innehålla följande data | $_POST ska innehålla följande data | ||
Line 41: | Line 145: | ||
) | ) | ||
Som svar får man, om allt gick bra | Som svar får man, om allt gick bra | ||
- | {" | + | {" |
annars | annars | ||
{" | {" | ||
Line 57: | Line 161: | ||
Som svar får man, om allt gick bra | Som svar får man, om allt gick bra | ||
{" | {" | ||
+ | |||
+ | https:// | ||
</ | </ | ||
- Skapa en endpoint för att ta emot ett POST-anrop med data för en fråga med svarsalternativ. Det krävs en giltig token för att spara data. < | - Skapa en endpoint för att ta emot ett POST-anrop med data för en fråga med svarsalternativ. Det krävs en giltig token för att spara data. < |