Problema API

di il
3 risposte

Problema API

Ciao a tutti.
Sto iniziando a smanettare sulle Rest API.
Ho un problemino che probabilmente sara' demenziale ma non riesco a risolvere.
Il mio server ha un metodo post fatto cosi

[HttpPost]
public ActionResult AddCodes(int quantity)
{
_codesContainer.AddCodes(quantity);
return Ok();
}

Molto semplice.
Ho creato un client per andarlo a chiamare.
Il metodo di post viene correttamente chiamato, ma il valore del parametro di ingresso quantity e' sempre = 0
Ecco il mio client

// Post
ParametersForPostMethod parameters = new ParametersForPostMethod();
parameters.quantity = 20;
var json = JsonConvert.SerializeObject(parameters);
var content = new StringContent(json);
HttpResponseMessage response = await client.PostAsync("/api/codesContainer", content);
response.EnsureSuccessStatusCode();

Dove sto sbagliando?
Grazie mille a tutti.
Un saluto

3 Risposte

  • Re: Problema API

    Ciao,
    forse sto dicendo una cosa insensata, ma si può passare una string Json ad un metodo che richiede un valore int?
    Hai provato a sostituire l'int del metodo AddCodes con una string, passargli il Json e poi deserializzarlo a int?
    Lucius
  • Re: Problema API

    Se il valore di "quantity" viene preso da una proprietà di un oggetto JSON inviato in POST, allora credo che il parametro vada decorato con l'attributo [FromBody].

    Vedi la documentazione del ModelBinding per approfondimenti.

    Ciao!
  • Re: Problema API

    Modificando il mio server facendo in modo che la mia post, richieda come input una classe, allora funziona....
    E' con in semplice int di input che ho dei problemi.
    Piu tardi leggo la documentazione che mi avete fornito!
Devi accedere o registrarti per scrivere nel forum
3 risposte