Address controller with comments
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// <summary> | |
/// Endpoints for managing Addresses | |
/// </summary> | |
public class AddressController : ApiController | |
{ | |
/// <summary> | |
/// Gets a list of addresses in the system | |
/// </summary> | |
/// <returns>IEnumerable<AddressViewModel>.</returns> | |
public IEnumerable<AddressViewModel> Get() | |
{ | |
return Addresses.Get(); | |
} | |
/// <summary> | |
/// Gets the specified Address | |
/// </summary> | |
/// <param name="id">The Address Id.</param> | |
/// <returns>AddressViewModel.</returns> | |
[Route(Name = "GetAddress")] | |
public AddressViewModel Get(int id) | |
{ | |
return Addresses.Get(id); | |
} | |
// POST api/address | |
/// <summary> | |
/// Creates a new Address | |
/// </summary> | |
/// <param name="address">The address data.</param> | |
/// <returns>IHttpActionResult.</returns> | |
[ResponseType(typeof(AddressViewModel))] | |
public IHttpActionResult Post(AddressInputModel address) | |
{ | |
if(ModelState.IsValid) | |
{ | |
var id = Addresses.Add(address); | |
var uri = new Uri(Url.Link("GetAddress", new { id })); | |
return Created(uri, Addresses.Get(id)); | |
} | |
return BadRequest(ModelState); | |
} | |
/// <summary> | |
/// Updates an Address | |
/// </summary> | |
/// <param name="id">The Address identifier.</param> | |
/// <param name="address">The updated address data.</param> | |
public void Put(int id, AddressInputModel address) | |
{ | |
Addresses.Update(id, address); | |
} | |
/// <summary> | |
/// Deletes the specified Address | |
/// </summary> | |
/// <param name="id">The Address Id.</param> | |
public void Delete(int id) | |
{ | |
Addresses.Remove(id); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment