Ciao a tutti!!!
chiedo il vostro aiuto per chiarirmi un pò le idee.
Ho la classe User che oltre ad avere le informazioni basilari ha anche la classe Role che non è altro che la tipologia di utente
nel controller in post vorrei mandare il model alla webapi ovviamente già compilatocodice:public class CreateUser { public string Name { get; set; } public string Surname { get; set; } public string Email { get; set; } public string Password { get; set; } public Role Role { get; set; } public int RoleSelectedId { get; set; } } public class Role { public int Id { get; set; } public string Name { get; set; } }
...e il controller delle webapi è il seguentecodice:[HttpPost] public async Task<ActionResult> CreateUser(CreateUser item) { item.RoleSelected = new Role() { Id = item.RoleSelectedId }; var address = "http://localhost:53285/api/users/PostUser"; var stringContent = new StringContent(JsonConvert.SerializeObject(item), Encoding.UTF8, "application/json"); using (var client = new HttpClient()) { HttpResponseMessage response = await client.PostAsync(address, stringContent); response.EnsureSuccessStatusCode(); string resultContent = response.Content.ReadAsStringAsync().Result; } }
Il problema è che quando vado a vedere se le proprietà della classe User sono compilate la classe Role è nulla...codice:// POST: api/Users [ResponseType(typeof(User))] public async Task<IHttpActionResult> PostUser(User user) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Users.Add(user); await db.SaveChangesAsync(); return CreatedAtRoute("DefaultApi", new { id = user.Id }, user); }
Sapete quale sia il problema?
Grazie dell'aiuto

Rispondi quotando
