# REST-webbtjänster ## Beskrivning Uppgiften ingår i kursen ”Webbutveckling III” och det handlar om att skapa en REST-baserad webbtjäns för att hantera en lista av kurser jag läst i Webbutveckling programmet ## Syftet med uppgiften : * Veta vad begreppet webbtjänster är och förstå hur man kan använda dessa för att skapa moderna och plattformsoberoende applikationer. * Kunna skapa en RESP-baserad webbtjänst. ## Setup För att komma igång behöver man kopier köllkod och sedan kör installation för database som ska innehåller den följande tabell: | Tabell-namn | Fält | Beskrivning | | ------------|-----------|--------| | Course |id INT(11), title VARCHAR(128), code VARCHAR(128), progression TEXT, syllabus TEXT | Tabell om kurser jag har läst | ## Klasser och metoder ### class Course #### Properties * $db : My sql anslutningen; * $title * $code; * $progression; * $syllabus; * $id; #### metoder * __construct() to create database anslutning * function getAllCourses() : array, för att hämta alla kurser * function getCourseById(int $id): array, för att hämta spesific kurs * function setCourse(string $title, string $code,string $progression, string $syllabus ) : bool, för att lägg till kurs namn, kod, progression och Kursplan * function setCourseWithID( int $id , string $title, string $code,string $progression, string $syllabus) : bool, för att lägg till kurs namn, kod, progression , Kursplan och id * function createCourse( ) : bool, för att kontrollera om kurs är skapad * function updateCourse( ) : bool, för att uppdatera kurs * function deleteCourse(int $id): bool, för att radera kurs ## Användning Med Postman eller Thunder Client du kan skapa REST API for courses med nedstående: | HTTP Method | HTTP Path/endPoint | Beskrivning | | ------------|-----------|--------| | GET | /rest.php | Retunera alla kurser | | GET | /rest.php?=id | Retunera kurs med en angivet id| | POST| /rest.php| Skapa en ny kurs | | PUT | /rest.php?=id | Uppdatera en existerande kurs med en angivet id| | DELETE | /rest.php?-id| Radera en kurs med angivet id | Kurs-object skickas som JSON-data till API i följande format: ``` { "title": "Webbutveckling I", "code": "DT057G", "progression": "A", "syllabus": "https:\/\/www.miun.se\/utbildning\/kursplaner-och-utbildningsplaner\/Sok-kursplan\/kursplan\/?kursplanid=22782" } ``` Och retunerade data sckickas som följande: ``` { "id": "1", "title": "Webbutveckling I", "code": "DT057G", "progression": "A", "syllabus": "https:\/\/www.miun.se\/utbildning\/kursplaner-och-utbildningsplaner\/Sok-kursplan\/kursplan\/?kursplanid=22782" } ``` ## länk Länk till API finns i URL: [API](http://studenter.miun.se/~alza2100/writeable/DT173/moment5/rest.php) ## Studen Name BY Alaa Zaza