Upload
radenko-zec
View
95
Download
1
Embed Size (px)
Citation preview
Radenko ZecLanaco d.o.o
ASP.NET Web API do maksimuma
October 23rd 2013
O čemu pričamo i ne pričamo danas
• ASP.NET Web API v1
• ASP.NET Web API v2
• Attribute routing
• Owin self host (Katana)
• IHttpActionResult
• OData improvements...
Da li je ASP.NET Web API = RESTful service?
ASP.NET Web API ne diktira stil arhitekture
ali vi možete da razvijete RESTful service pomoću ASP.NET Web API- ja
ASP.NET Web API Web sajtoviMobilni i tablet
uređaji
Web API
Baza
Drugi tipovi aplikacija
Richardson-ov model zrelosti REST-a
Rast Web API-ja
Koje metode podržava Web API ?
Metod Akcija HTTPMetod Relativni URI
Get Vraća listu svih kontakata
GET /api/contacts
Get Vraća kontakt na osnovu id-a
GET /api/contacts/id
Add Dodaje novi kontakt POST /api/contacts
Update Mijenja selektovani kontakt
PUT /api/contacts
Delete Briše kontakt DELETE /api/contacts/id
Kako napraviti Web API?
public class PersonController : ApiController{
List<Person> _people;public PersonController(){
_people = new List<Person>();_people.AddRange(new Person[]{
new Person { Id = 1, Name = "Chuck Norris" },new Person { Id = 2, Name = "David Carradine" },new Person { Id = 3, Name = "Bruce Lee" }
});
Kako napraviti Web API?// GET /api/personpublic IEnumerable<Person> Get(){
return _people;}
// GET /api/person/5public Person Get(int id){
return _people.First(x => x.Id == id);}
Rutiranje Web API-ja public static void RegisterRoutes(RouteCollection routes){
routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }
);}
Hosting i arhitektura
SilverReader
• Ultra brz Web API
• Korišten ASP.NET Web API v1
DEMO
Optimizacije
• Westwind serijalizer
• GZIP kompresija
Hvala na pažnji