C# Snabbreferens
  • C# snabbreferens
  • Lathund: Skapa projekt
  • Lathund: koda i konsolen
  • Lathund: koda i WPF
  • Kompilering och publicering
  • Externa resurser
  • Grundläggande
    • Datatyper […]
      • String
      • Tuples
      • Enum
    • Fel
    • Typkonvertering
    • Operatorer
    • Boolska satser
    • Konsolen (Console)
    • If-satser
    • Loopar
    • Listor och arrayer
    • Slump (Random)
    • Strings
    • Metoder
    • Använda bibliotek (using)
    • Delegates, events och lambdas
    • Matematik (Math)
    • Vektorer (Numerics)
    • Datum och tid
    • Try-catch och Exception
    • Namngivning
    • Begrepp
    • Reference vs value types
    • Projektstruktur
    • Dotnet i terminalen
  • Filhantering
    • Filsökvägar
    • Läsa och skriva
    • Filer och mappar
    • Open, close, using
    • Serialisering […]
      • JSON-serialisering
      • XML-serialisering
    • Resursfiler
    • Filformat
      • JSON
  • Klasser och objektorientering
    • Översikt objektorientering
    • Lathund för klassdesign
    • Klasser och instanser
    • Struct
    • Public, private och protected
    • Klassdiagram
    • Klassmetoder
    • Konstruktorer
    • Arv
    • Komposition
    • Inkapsling och properties
    • Static
    • Polymorfism […]
      • Virtual, override
    • Generiska klasser
    • Abstract
    • Interface
    • Attribut
  • Annat
    • RayLib […]
      • Raylib setup
      • Fönster i Raylib
      • Grundläggande grafik
      • Geometriska former
      • Bilder och texturer
        • Texture
        • Image
      • Input
      • Text
      • Rectangle
      • Kollisioner
      • Kamera
      • Ljud
      • Raylib-CSharp*
    • MonoGame […]
      • Monogame-projekt*
      • MCGB Editor*
      • Input*
      • Grafik*
      • Kollisioner
      • Ljud*
    • Nätverk och internet […]
      • CRUD, HTTP och REST
      • URL:er och REST
      • RESTful client*
      • Thunder
      • RESTful server (Minimal API)
        • Swagger och OpenAPI
      • RESTful server (Web API) […]
        • Controllers
        • Models/dataklasser
        • Tester med RESTer
    • Linq
      • Linq-metoder
      • Linq-queries
    • Databaser
      • SQLite-kommandon
      • SQLite och VSCode
      • C# och SQLite
      • Entity Framework Core
    • Threading
      • Thread
      • Task
    • Pseudokod och diagram
    • Windows UI
      • WPF
      • XAML*
      • WinUI*
  • Mjukvara
    • Dotnet SDK
    • Visual Studio Code […]
      • Extensions
      • Inställningar
      • Debugging
      • Snabbkommandon
      • Snippets
      • Felsökning
    • Git & GitHub […]
      • Git-begrepp
    • Andra verktyg
  • Tekniker
    • Begränsa input
    • Game states
    • Gå igenom en array (eller lista)
    • Länkade listor och andra strukturer
    • Ta bort saker ur listan man går igenom
    • 2D-spelbräden
    • Timers
  • CONTRIBUTING
Powered by GitBook
On this page
  • HTTP
  • Header och body
  • POST
  • GET
  • PUT
  • DELETE
  • REST

Was this helpful?

  1. Annat
  2. Nätverk och internet […]

CRUD, HTTP och REST

PreviousNätverk och internet […]NextURL:er och REST

Last updated 1 year ago

Was this helpful?

Se och framför allt .

HTTP

HyperText Transfer Protocol. En standard för att föra över information via nätverk. Är grunden till internet.

HTTP bygger på request-response-modellen:

  1. Klienten skickar ett request-meddelande till servern. I det specifieras vad det är man vill göra och vilken resurs man vill göra det med. Till exempel: hämta en specifik html-fil eller läsa av en specifik pryl ur en databas.

  2. Servern svarar med ett response-meddelande. I det specifieras vad resultatet blev när servern försökte utföra det klienten bad om.

Header och body

Varje HTTP-meddelande består av en header och en body. Bodyn kan vara tom, och det är den ofta när man t.ex. försöker hämta en hemsida som inte finns eller när man inte försökte hämta något alls.

Headern innehåller allmän data och information om meddelandet. Här finns till exempel info om vilken version av HTTP som används, serverns/klientens mjukvara, när meddelandet skickades etc.

Request-meddelanden innehåller alltid en "metod" – motsvarar ungefär verb. Metoden avgör vilken sorts operation det är man försöker göra – POST, PUT, GET etc.

Response-meddelanden innehåller alltid en respons-kod som talar om ifall requesten lyckades eller om något gick fel. Det kan t.ex. vara kod 200 ("ok") eller 404 ("not found").

POST

Används för att skicka in en ny resurs till en server.

GET

Används för att hämta en resurs från en server.

PUT

Används för att ersätta en resurs som redan finns på en server med en ny resurs.

DELETE

Används för att ta bort en resurs från en server.

REST

CRUD
HTTP

Create

POST

Read

GET

Update

PUT

Delete

DELETE

Så för att till exempel läsa/hämta information om en specifik artikel så kan man i ett REST-API skicka en HTTP-request med GET som metod till https://www.somenews.net/api/articles/45 och då får man ett HTTP-response som innehåller artikel nummer 45s data.

Och för att lägga in en ny artikel skulle man då kunna skicka en HTTP-request med POST som metod till http://www.somenews.net/api/articles. Då skulle man också inkludera den nya artikelns data i requesten. Som svar skulle man då kunna få ett HTTP-response med statuskoden Ok, och då vet man att artikeln lagts till.

Exakt hur requests ska se ut beror på vad den som bygger servern bestämmer. Det finns inget automatiskt i att det är just /api/articles som gäller, det skulle lika gärna kunnat vara /cyberzone/fluff/gauntlet eller vad som helst.

REST är en förkortning av Representational State Transfer. Förenklat kan man säga att REST innebär att man utför med hjälp av HTTP-kommandon på ett standardiserat sätt.

Databaser
CRUD
CRUD-operationer