Untitled
unknown
plain_text
5 months ago
3.0 kB
1
Indexable
public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } } <connectionStrings> <add name="MySqlConnection" connectionString="Server=localhost;Database=your_database;User ID=root;Password=your_password;" providerName="MySql.Data.MySqlClient" /> </connectionStrings> using System.Data.Entity; public class ApplicationDbContext : DbContext { public ApplicationDbContext() : base("MySqlConnection") { } public DbSet<Product> Products { get; set; } } using System.Linq; using System.Web.Http; using WebApplication2.Models; public class ProductController : ApiController { private ApplicationDbContext db = new ApplicationDbContext(); [HttpGet] public IHttpActionResult GetProducts() { return Ok(db.Products.ToList()); } [HttpGet] public IHttpActionResult GetProduct(int id) { var product = db.Products.Find(id); if (product == null) return NotFound(); return Ok(product); } [HttpPost] public IHttpActionResult CreateProduct(Product product) { if (!ModelState.IsValid) return BadRequest(ModelState); db.Products.Add(product); db.SaveChanges(); return Ok(product); } [HttpPut] public IHttpActionResult UpdateProduct(int id, Product product) { var existingProduct = db.Products.Find(id); if (existingProduct == null) return NotFound(); existingProduct.Name = product.Name; existingProduct.Price = product.Price; db.SaveChanges(); return Ok(product); } [HttpDelete] public IHttpActionResult DeleteProduct(int id) { var product = db.Products.Find(id); if (product == null) return NotFound(); db.Products.Remove(product); db.SaveChanges(); return Ok(); } } using System.Web.Http; protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); } public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Formatters.JsonFormatter.SupportedMediaTypes .Add(new System.Net.Http.Headers.MediaTypeHeaderValue("text/html")); } } using System.Web.Http; using Swashbuckle.Application; public class SwaggerConfig { public static void Register() { GlobalConfiguration.Configuration .EnableSwagger(c => { c.SingleApiVersion("v1", "My API"); }) .EnableSwaggerUi(); } } protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); SwaggerConfig.Register(); // Add this line }
Editor is loading...
Leave a Comment