/Anonimizzato20954Utente anonimizzato16 mag 2020, 11:11Ciao 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
LluciusinfabulaUtente AttivoIscritto daset, 2012Messaggi13117 mag 2020, 22:02Ciao, 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
AlkaUtente FamosoIscritto danov, 2014Messaggi350418 mag 2020, 09:32Se 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!
/Anonimizzato20954Utente anonimizzato18 mag 2020, 10:35Modificando 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!