Untitled

 avatar
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