[backend] feat: Add error model for error responses, add checking on invalid post body (if all fields of Instructor is null)

This commit is contained in:
ChronosX88 2019-09-25 19:50:01 +04:00
parent 8ca8c3f73f
commit 6e1d88e2e7
Signed by: ChronosXYZ
GPG Key ID: 085A69A82C8C511A
3 changed files with 26 additions and 9 deletions

View File

@ -31,18 +31,21 @@ namespace InstructorsListApp.Controllers
databaseContext.Entry<Instructor>(instructor).State = EntityState.Detached; // remove unneccessary refs
return Ok(instructor);
}
return NotFound("Given instructor isn't found");
return NotFound(new Error(Error.EntryIsNotFound, "No such instructor"));
}
[HttpPost("add")]
public IActionResult CreateInstructorEntry([FromBody] Instructor instructor) {
if(ModelState.IsValid) {
if(instructor.FirstName == null && instructor.LastName == null && instructor.MiddleName == null) {
return BadRequest(new Error(Error.PostBodyIsNotValid, "Given model isn't valid!"));
}
instructor.Id = Guid.NewGuid().ToString();
databaseContext.Instructors.Add(instructor);
databaseContext.SaveChanges();
return Ok(instructor.Id);
}
return BadRequest(ModelState);
return BadRequest(new Error(Error.PostBodyIsNotValid, "Given model isn't valid!"));
}
[HttpPut("{id}")]
@ -56,7 +59,7 @@ namespace InstructorsListApp.Controllers
databaseContext.SaveChanges();
return Ok();
}
return NotFound("Given instructor isn't found");
return NotFound(new Error(Error.EntryIsNotFound, "No such instructor"));
}
return BadRequest(ModelState);
}
@ -69,7 +72,7 @@ namespace InstructorsListApp.Controllers
databaseContext.SaveChanges();
return Ok();
}
return NotFound("No such instructor");
return NotFound(new Error(Error.EntryIsNotFound, "No such instructor"));
}
}
}

14
Models/Error.cs Normal file
View File

@ -0,0 +1,14 @@
namespace InstructorsListApp.Models {
public class Error {
public static int EntryIsNotFound = 0x0;
public static int PostBodyIsNotValid = 0x1;
public int errCode {get; set;}
public string errText {get; set;}
public Error(int errCode, string errText) {
this.errCode = errCode;
this.errText = errText;
}
}
}

View File

@ -1,8 +1,8 @@
namespace InstructorsListApp.Models {
public class Instructor {
public string Id {get; set;}
public string FirstName {get;set;}
public string MiddleName {get;set;}
public string LastName {get;set;}
}
public string Id {get; set;}
public string FirstName {get;set;}
public string MiddleName {get;set;}
public string LastName {get;set;}
}
}