First you need to create a class that contains all your form data. You may be able to use your PlaylistDto class for this:
public class PlaylistDto
{
public Guid PlaylistId { get; set; }
public string title { get; set; }
}
Then change your UpdateTitle method to:
[HttpPost, ActionName("UpdateTitle")]
public IHttpActionResult UpdateTitle(PlaylistDto Dto)
{
using (ITransaction transaction = Session.BeginTransaction())
{
PlaylistManager.UpdateTitle(Dto.playlistId, Dto.title);
transaction.Commit();
}
return Ok();
}
Finally change your routing as follows:
public static class WebApiConfig
{
// TODO: Create test cases for custom routing.
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
config.Routes.MapHttpRoute(
name: "UpdateTitle",
routeTemplate: "Playlist/UpdateTitle",
defaults: new { controller = "PlaylistController", action = "UpdateTitle" }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}