by Anonymous » 15 May 2025, 17:38
Ich habe API, bei der ich mein Benutzermodell validieren muss. Ich wähle einen Ansatz aus, bei dem ich verschiedene Klassen zum Erstellen/Bearbeiten von Aktionen erstelle, um die Massenentscheidung zu
vermeiden und die Validierung und das tatsächliche Modell auseinander zu teilen. Mache ich etwas falsch?
Code: Select all
public HttpResponseMessage Post(UserCreate user)
{
if (ModelState.IsValid) // It's valid even when user = null
{
var newUser = new User
{
Username = user.Username,
Password = user.Password,
Name = user.Name
};
_db.Users.Add(newUser);
_db.SaveChanges();
return Request.CreateResponse(HttpStatusCode.Created, new { newUser.Id, newUser.Username, newUser.Name });
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
< /code>
Modell < /h1>
public class UserCreate
{
[Required]
public string Username { get; set; }
[Required]
public string Password { get; set; }
[Required]
public string Name { get; set; }
}
Debug -Beweis
Ich habe API, bei der ich mein Benutzermodell validieren muss. Ich wähle einen Ansatz aus, bei dem ich verschiedene Klassen zum Erstellen/Bearbeiten von Aktionen erstelle, um die Massenentscheidung zu [url=viewtopic.php?t=15143]vermeiden[/url] und die Validierung und das tatsächliche Modell auseinander zu teilen. Mache ich etwas falsch?[code]public HttpResponseMessage Post(UserCreate user)
{
if (ModelState.IsValid) // It's valid even when user = null
{
var newUser = new User
{
Username = user.Username,
Password = user.Password,
Name = user.Name
};
_db.Users.Add(newUser);
_db.SaveChanges();
return Request.CreateResponse(HttpStatusCode.Created, new { newUser.Id, newUser.Username, newUser.Name });
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
< /code>
Modell < /h1>
public class UserCreate
{
[Required]
public string Username { get; set; }
[Required]
public string Password { get; set; }
[Required]
public string Name { get; set; }
}
[/code]
Debug -Beweis