WEB API Controller, MVC Controller

Permalänk

WEB API Controller, MVC Controller

Provar web api controller och mvc controller i projekt.

I mvc controllernHttpClient objekt.

using (var client = (new HttpClient())

...
var respons = client.GetAsync(?)
borde vara uri för api? var läser/hittar jag den?

//tacksam för tips!

Visa signatur

studenten

Permalänk
Medlem

Eftersom det ser ut som att du vill göra en GET på något så är frågan - vilket API försöker du göra detta mot? Det är där du hittar din url.

Så frågan är - vad vill du uppnå? Tänker så att du får rätt hjälp.

Edit: Här har du ett api som du kan köra get mot om du bara vill testa hur det fungerar.

https://catfact.ninja/fact

Sen kommer nästa steg vara att konvertera din response till en klass så att du kan göra det du vill.

Edit: Tanken med web api controller är att andra projekt ska kunna göra api calls mot det. Du kan sätta parametrar ovanför dina metoder i en web api controller - som bestämmer routingen samt vad för typ av call det är - get, post osv.

Routingen brukar även ha en default routing path som nog Finns i någon routing options-fil så att du förstår vad för url det är till ditt eget api som du håller på skapa.

Exempel: localhost:12345/api/cat/fact

Api = default
Cat = Controller name
Fact = kommer ej ihåg om man kan döpa metoden till detta så att den kan användas. Själv brukar jag nog oftast specifiera route med parametern [route] ovanför metoden. I detta fall blir det då [Route("/fact")].

Permalänk
Medlem

När du sätter upp en httpclient i ditt api så verkar det som att du ska konsumera ett api är det korrekt?

Tänk dig att en httpclient är som en webbläsare fast du har full kontroll över den. Så du behöver en url i detta fall till ett annan api som retunerar data till dig, oftast i json format. Som du sen kan deserialisera med JsonConvert eller med System.Text.Json om du använder .net core 3.1 eller senare till ett objekt.

Det är lite om hur du konsumerar ett api. För att skapa ett api så finns det massor av bra microsoft artiklar över hur du gör det.

Här är ett väldigt bra exempel: https://docs.microsoft.com/en-us/aspnet/web-api/overview/gett...

Visa signatur

Bättre än din.
Tagga mig för svar i trådar.