Untitled
unknown
plain_text
a year ago
3.0 kB
4
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