public static void ConfigureHateoas(this IMvcBuilder builder) { builder.AddHateoas(options => { options .AddLink <TagDto>("get-tag-by-id", t => new { id = t.Id }) .AddLink <IEnumerable <TagDto> >("get-all-tags") .AddLink <TagDetailsDto>("get-tag-details", t => new { id = t.Id }) .AddLink <TagDto>("create-tag") .AddLink <TagDto>("update-tag", t => new { id = t.Id }) .AddLink <TagDto>("delete-tag", t => new { id = t.Id }); options .AddLink <ProductDto>("get-product-by-id", p => new { id = p.Id }) .AddLink <IEnumerable <ProductDto> >("get-all-products") .AddLink <ProductDetailDto>("get-product-details", p => new { id = p.Id }) .AddLink <ProductDto>("create-product") .AddLink <ProductDto>("import-product") .AddLink <ProductDto>("update-product", p => new { id = p.Id }) .AddLink <ProductDto>("delete-product", p => new { id = p.Id }); options .AddLink <IEnumerable <CategorizationDto> >("get-categorizations") .AddLink <CategorizationDto>("add-tag-to-product"); }); }
public static void ConfigureLinks(this IMvcBuilder services) { services.AddHateoas(options => { options .AddLink <TodoViewModel>("get-todo", p => new { id = p.Id }) .AddLink <IEnumerable <TodoViewModel> >("all") .AddLink <TodoViewModel>("update-todo", p => p) .AddLink <TodoViewModel>("create-todo", p => p) .AddLink <TodoViewModel>("delete-todo", p => new { id = p.Id }); }); }