Blue Buffalo is a premium
dog food brand created by a family for their own beloved furry companion. Blue
Buffalo offers nutritious recipes that include natural ingredients, high
quality meat, fish or poultry, and fruits and vegetables. They produce healthy
recipes for all stages of life, all sizes, and all activity levels. Introducing
Blue Buffalo Bill and Jackie Bishop began to take an interest in pet health
issues when their Airedale,Introducing Blue
Buffalo Bill and Jackie Bishop began to take an interest in pet health issues
when their or all stages of life, all sizes, and all
activity levels. Airedale,
dotnet new mvc --auth none
HomeController.
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using ma.Models;
namespace ma.Controllers
{ public class HomeController : Controller
{public String Index()
{return "Hello Deepak";
}}}
[dotnet run]
StockQuote.cs
using System;
namespace ma.Models
{
public class StockQuote
{
public string Symbol {get;set;}
public int Price{get;set;}
}}
Ma/views/home/
Index.cshtml
@{
ViewData["Title"] = "Home Page";
}
<div
Symbol: @Model.Symbol <br/>
Price: $@Model.Price <br/>
</div>
AGAIN controller:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using ma.Models;
namespace ma.Controllers
{
public class HomeController : Controller
{
public async Task <IActionResult> Index()
{
var model=new StockQuote {Symbol="Hello", Price=3200};
return View(model);
}
}
}
[dotnet run]
Building ASP.Net core REST API
[dotnet new webapi -o Glossary] (cmd 1)
[cd Glossary] [dotnet run] (cmd 1)
[curl –insecure https://localhost:7018/weatherforecast] (cmd 2)
ma2\Glossary\GlossaryItem.cs
//GlossaryItem.cs
namespace Glossary
{
public class GlossaryItem
{
public string Term { get; set;}
public string Definition { get; set;}
}
}
Glossary\Controllers\ GlossaryController.cs
using System;
using System.Collections.Generic;
using Microsoft.AspNetCore.Mvc;
using System.IO;
namespace Glossary.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class GlossaryController:ControllerBase
{
private static List<GlossaryItem>Glossary=new List<GlossaryItem>
{
new GlossaryItem
{
Term="HTML", Definition="HyperText Markup language"
},
new GlossaryItem
{
Term="MVC", Definition="Model View Control"
},
new GlossaryItem
{
Term="OpenID", Definition="An Open Standard For Autehntication"
}
};
[HttpGet]
public ActionResult<List<GlossaryItem>>Get()
{
return Ok(Glossary);
}
[HttpGet]
[Route("{term}")]
public ActionResult<GlossaryItem>Get(string term)
{
var glossaryItem=Glossary.Find(item=>item.Term.Equals(term,StringComparison.InvariantCultureIgnoreCase));
if(glossaryItem==null)
{return NotFound();
}else
{
return Ok(glossaryItem);
}
}
[HttpPost]
public ActionResult Post(GlossaryItem glossaryItem)
{
var existingGlossaryItem=Glossary.Find(item=>item.Term.Equals(glossaryItem.Term,StringComparison.InvariantCultureIgnoreCase));
if (existingGlossaryItem!= null)
{
return Conflict("Cannnot create the term because it already exists");
}
else
{
Glossary.Add(glossaryItem);
var resourseUrl=Path.Combine(Request.Path.ToString(),Uri.EscapeUriString(glossaryItem.Term));
return Created(resourseUrl,glossaryItem);
}
}
[HttpPut]
public ActionResult Put(GlossaryItem glossaryItem)
{
var existingGlossaryItem=Glossary.Find(item=>item.Term.Equals(glossaryItem.Term,StringComparison.InvariantCultureIgnoreCase));
if (existingGlossaryItem==null)
{
return BadRequest("Cannnot update a non existing Term");
}
else
{
existingGlossaryItem.Definition=glossaryItem.Definition;
return Ok();
}
}
[HttpDelete]
[Route("{term}")]
public ActionResult Delete(string term)
{
var glossaryItem=Glossary.Find(item=>item.Term.Equals(term,StringComparison.InvariantCultureIgnoreCase));
if(glossaryItem==null)
{
return NotFound();
}
else
{
Glossary.Remove(glossaryItem);
return NoContent();
}
}
}
}
curl --insecure https://localhost:7018/api/glossary
Getting a single item
curl --insecure https://localhost:7018/api/glossary/MVC
Creating an Item:
curl --insecure -X PUT -d "{\"term\":\"MVC\",\"definition\":\"Modified record of Model View Controller.\"}" -H "Content-Type:application/json"
https://localhost:7018/api/glossary
Update Item:
curl --insecure -X PUT -d "{\"term\":\"MVC\",\"definition\":\"Modified record of Model View Controller.\"}" -H "Content-Type:application/json"
https://localhost:7018/api/glossary
Delete Item:
Command [ curl --insecure --request DELETE –url
Comments
Post a Comment