Avatar billede l4m3r Nybegynder
11. maj 2016 - 00:24 Der er 3 kommentarer

hjælp med en simpel Web API opgave

jeg har førhen lavet en simpel Web API takket være: http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

men er blevet lidt i da jeg skulle til at udarbejde følgende opgave:

"Lav et simpelt Web Api. Servicen skal kunne håndtere en liste af tekst (List<string>). Servicen skal indeholde CRUD funktioner.
Test efterfølgende servicens CRUD vha. Fiddler. Både som XML og som JSON."

Kan jeg ikke gemme listen som det man kalder en Repository?

når der står at servicen skal indeholde CRUD funktioner, betyder det så bare ikke man laver fx Get(), Put() der kan fremvise/manipulere med data'en??

Har bekendtskab med Fiddler så det er ikke noget problem, men er i tvivl over hvordan jeg skal implementere CRUD funktionerne..
Avatar billede softspot Forsker
11. maj 2016 - 08:39 #1
Det er vel i bund og grund bare et spørgsmål om, at du viser, at data gemmes og hentes et sted, hvor de kan overleve en genstart af din service (f.eks. en database eller i en fil).

Create
Read
Update
Delete

Dvs. dit API skal implementere 4 http-metoder (HttpPost, HttpGet, HttpPut og HttpDelete), hvor hver af dem gør det de skal (Post er opret og Put er opdater).

XML og JSON-formaterne bestemmes af Accept-headeren (application/xml eller application/x-json). Denne header skal sendes med i forespørgslen til dit API.
Avatar billede l4m3r Nybegynder
11. maj 2016 - 23:01 #2
tænkte om du kunne vise konkret i koden hvordan dette sker?

hvis jeg fx har en list af string, hvordan kan jeg så implementere Get, Post, Put og Delete metoderne?
List<string> mylist = new List<string>(new string[] { "element1", "element2", "element3" });
Avatar billede softspot Forsker
12. maj 2016 - 00:19 #3
Dit API'et kunne se nogenlunde således ud:

public class TestController : ApiController
{
    public List<string> Get() { }
    public void Post([FromBody]List<string> strenge) { }
    public void Put([FromBody]List<string> strenge) { }
    public void Delete() { }
}

Nu ved jeg ikke hvad kravene helt konkret er, men da du arbejder med en liste af strenge, vil jeg mene, du blot kan gemme listen i en fil. Ret beset kan du bare oprette filen med overskrivning for både post og put, da hele listen gemmes hver gang.

Delete skal bare slette filen og Get læser blot filen og returnerer den til klienten.

Filskrivning må du altså selv lige Google lidt på (du skal jo også selv lave - og lære - noget)... ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester