This document provides an overview of ASP.NET MVC 4 Web API. It discusses what an API is and why Web API is used. It covers key concepts like HTTP, REST, JSON. It describes features of Web API like routing, error handling, model validation, OData support, media formatters, and security. It also discusses using the HttpClient class and future plans.
ASP.NET Web API is the de facto framework for building HTTP-based services in the .NET ecosystem. With its WCF and MVC lineage, Web API brings to the table better architecture, easier configuration, increased testability, and as always, it's customizable from top to bottom. But to properly use Web API it is not enough to get familiar with its architecture and API, you also need to really understand what HTTP is all about. HTTP is the most common application layer protocol in the world, and yet, not many web developers are familiar with HTTP concepts such as of chunking, caching, and persisted connections. In this full-day tutorial, we will focus on designing and implementing HTTP-based services with ASP.NET Web API, and you will learn how to better use it to implement the features provided by HTTP.
ASP.NET Web API is the de facto framework for building HTTP-based services in the .NET ecosystem. With its WCF and MVC lineage, Web API brings to the table better architecture, easier configuration, increased testability, and as always, it's customizable from top to bottom. But to properly use Web API it is not enough to get familiar with its architecture and API, you also need to really understand what HTTP is all about. HTTP is the most common application layer protocol in the world, and yet, not many web developers are familiar with HTTP concepts such as of chunking, caching, and persisted connections. In this full-day tutorial, we will focus on designing and implementing HTTP-based services with ASP.NET Web API, and you will learn how to better use it to implement the features provided by HTTP.
It will describes SOAP/REST differences and SOAP web services in detail with practical approach. it shows usage of SOAP, XML, JAVA, WSDL, XSD and RPC with examples.
Web API or WCF - An Architectural ComparisonAdnan Masood
ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. The new ASP.NET Web API is a continuation of the previous WCF Web API projection. WCF was originally created to enable SOAP-based services and other related bindings. However, for simpler RESTful or RPCish services (think clients like jQuery) ASP.NET Web API is a good choice.
In this meeting we discussed what do you need to understand as an architect to implement your service oriented architecture using WCF or ASP.NET web API. With code samples, we will elaborate on WCF Web API’s transition to ASP.NET Web API and respective constructs such as Service vs. Web API controller, Operation vs. Action, URI templates vs ASP.NET Routing, Message handlers, Formatters and Operation handlers vs Filters, model binders. WebApi offers support for modern HTTP programming model with full support for ASP.NET Routing, content negotiation and custom formatters, model binding and validation, filters, query composition, is easy to unit test and offers improved Inversion of Control (IoC) via DependencyResolver.
You will walk away with a sample set of services that run on Silverlight, Windows Forms, WPF, Windows Phone and ASP.NET.
SOAP Web Services have a well established role in the enterprise, but aside from the many benefits of the WS-* standards, SOAP and XML also carry additional baggage for developers. Consequently, REST Web Services are gaining tremendous popularity within the developer community. This session will begin by comparing and contrasting the basic concepts of both SOAP and REST Web Services. Building on that foundation, Sam Brannen will show attendees how to implement SOAP-based applications using Spring-WS 2.0. He will then demonstrate how to build a similar REST-ful application using Spring MVC 3.0. The session will conclude with an in-depth look at both server-side and client-side development as well as efficient integration testing of Web Services using the Spring Framework.
Enjoying the Move from WCF to the Web APIKevin Hazzard
A more advanced talk for those developers thinking of making the move from ASMX or WCF-based services to the ASP.NET Web API. RESTful services have their place in the middle tiers and this talk addresses how to make the mental shift toward REST. There's a lot of focus on how to ease the transition from such a complex framework as WCF to something as simplistic as the Web API.
Introducing ASP.NET vNext - A tour of the new ASP.NET platformJeffrey T. Fritz
Jeff Fritz shares how to get started with the new ASP.NET framework. He covers the goals and intents of Microsoft, and shows how you can get involved with this exciting open-source project. By the end of the presentation, you'll understand and be comfortable with the changes coming in the next version of ASP.NET
Building RESTfull Data Services with WebAPIGert Drapers
Data services are a major building block inside a service oriented architecture. Not only do they provide the abstraction and isolation between physical storage systems and the business layer, they can also provide the means for: authentication, authorization, transformation, projection, scale (through for example sharding) and caching. This session will walk you through implementing your RESTfull data service so that you can easily enable and integrate the described capabilities
As you go into the cloud, the applications you are building will often be built on service-oriented architectures that communicate through RESTful APIs. Where API design and development used to be an uncommon thing, today it has become a basic application requirement. George Reese will cover the basic considerations in designing and implementing an API for your applications.
George Reese is the author of a number of technology books and a regular speaker on RESTful APIs, cloud computing, Java, and database systems. His most recent books are The REST API Design Handbook and O’Reilly’s Cloud Application Architectures. Professionally, he is the Executive Director of Cloud Computing at Dell as a result of Dell's recent acquisition of Enstratius, a company George co-founded. George has also led a number of Open Source projects, including several MUD libraries and the Imaginary Home home automation libraries for Java. He is also the primary maintainer of Dasein Cloud, a cloud abstraction API for Java.
George holds a BA from Bates College in Maine and an MBA from the Kellogg School of Management at Northwestern University.
It will describes SOAP/REST differences and SOAP web services in detail with practical approach. it shows usage of SOAP, XML, JAVA, WSDL, XSD and RPC with examples.
Web API or WCF - An Architectural ComparisonAdnan Masood
ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. The new ASP.NET Web API is a continuation of the previous WCF Web API projection. WCF was originally created to enable SOAP-based services and other related bindings. However, for simpler RESTful or RPCish services (think clients like jQuery) ASP.NET Web API is a good choice.
In this meeting we discussed what do you need to understand as an architect to implement your service oriented architecture using WCF or ASP.NET web API. With code samples, we will elaborate on WCF Web API’s transition to ASP.NET Web API and respective constructs such as Service vs. Web API controller, Operation vs. Action, URI templates vs ASP.NET Routing, Message handlers, Formatters and Operation handlers vs Filters, model binders. WebApi offers support for modern HTTP programming model with full support for ASP.NET Routing, content negotiation and custom formatters, model binding and validation, filters, query composition, is easy to unit test and offers improved Inversion of Control (IoC) via DependencyResolver.
You will walk away with a sample set of services that run on Silverlight, Windows Forms, WPF, Windows Phone and ASP.NET.
SOAP Web Services have a well established role in the enterprise, but aside from the many benefits of the WS-* standards, SOAP and XML also carry additional baggage for developers. Consequently, REST Web Services are gaining tremendous popularity within the developer community. This session will begin by comparing and contrasting the basic concepts of both SOAP and REST Web Services. Building on that foundation, Sam Brannen will show attendees how to implement SOAP-based applications using Spring-WS 2.0. He will then demonstrate how to build a similar REST-ful application using Spring MVC 3.0. The session will conclude with an in-depth look at both server-side and client-side development as well as efficient integration testing of Web Services using the Spring Framework.
Enjoying the Move from WCF to the Web APIKevin Hazzard
A more advanced talk for those developers thinking of making the move from ASMX or WCF-based services to the ASP.NET Web API. RESTful services have their place in the middle tiers and this talk addresses how to make the mental shift toward REST. There's a lot of focus on how to ease the transition from such a complex framework as WCF to something as simplistic as the Web API.
Introducing ASP.NET vNext - A tour of the new ASP.NET platformJeffrey T. Fritz
Jeff Fritz shares how to get started with the new ASP.NET framework. He covers the goals and intents of Microsoft, and shows how you can get involved with this exciting open-source project. By the end of the presentation, you'll understand and be comfortable with the changes coming in the next version of ASP.NET
Building RESTfull Data Services with WebAPIGert Drapers
Data services are a major building block inside a service oriented architecture. Not only do they provide the abstraction and isolation between physical storage systems and the business layer, they can also provide the means for: authentication, authorization, transformation, projection, scale (through for example sharding) and caching. This session will walk you through implementing your RESTfull data service so that you can easily enable and integrate the described capabilities
As you go into the cloud, the applications you are building will often be built on service-oriented architectures that communicate through RESTful APIs. Where API design and development used to be an uncommon thing, today it has become a basic application requirement. George Reese will cover the basic considerations in designing and implementing an API for your applications.
George Reese is the author of a number of technology books and a regular speaker on RESTful APIs, cloud computing, Java, and database systems. His most recent books are The REST API Design Handbook and O’Reilly’s Cloud Application Architectures. Professionally, he is the Executive Director of Cloud Computing at Dell as a result of Dell's recent acquisition of Enstratius, a company George co-founded. George has also led a number of Open Source projects, including several MUD libraries and the Imaginary Home home automation libraries for Java. He is also the primary maintainer of Dasein Cloud, a cloud abstraction API for Java.
George holds a BA from Bates College in Maine and an MBA from the Kellogg School of Management at Northwestern University.
Overview of Microsoft WCF communication technology (Windows Communication Foundation).
WCF is a unified communication framework for distributed .Net applications.
WCF defines a common programming model and unified API for clients and services to send messages between each other.
WCF is the current and future standard for distributed .Net applications.
One of WCFs core concept is ABC which stands for Address, Binding and Contract.
The address defines a service's location. The binding defines how the service can be accessed and the contract defines the service interface.
This common model allows a uniform programming model for distributed applications not only based on web services, but also on message based transports like MSMQ.
Starting with Spring MVC 2.5, Annotation-Based Controllers became the preferred model for development (the Interface-based Controller hierarchy will be deprecated in Spring 3). This session will teach developers familiar with the old model how to use the new Annotation-based Controllers. This will also provide the basis for writing JSR 286 portlets using Spring 3.
Sample code available here:
http://www.ja-sig.org/wiki/x/vYS8AQ
Full screencast available here:
http://vimeo.com/10020881
ב-24 במרץ 2010 התקיים המפגש השני של פורום מפתחי ה-W3C הישראלי (W3C Developers Forum - W3CDF). המפגש עסק בפיתוח אפליקציות ואתרים למכשירים ניידים (Mobile Web).
Advanced Web Development in PHP - Understanding REST APIRasan Samarasinghe
ESOFT Metro Campus - Advanced Web Development in PHP - (Module VIII) Understanding REST API
(Template - Virtusa Corporate)
Resources: codeofaninja.com
Contents:
What is an API?
Comparing a website to an API
Classification of APIs
What is REST API?
What model does REST use?
REST HTTP Methods
HTTP Codes
The advantages of REST
What is CRUD?
CRUD Operations
CRUD Application Example
Simple REST API Implementation in PHP
Web root Folders and Files Structure
MySQL Database
Reading all Products
Reading one Product
Creating a Product
Updating a Product
Deleting a Product
Searching a Product
Web services tutorial slides from my session at DPC 2012 in Amsterdam. In this 3-hour session we built the simplest possible service, and then extended it, looking at RPC, REST and SOAP along the way.
Covers topics like RestApi, Authentication, Authorization, Cacheability, Advantage of RestApi over SOAP and some basics regarding Open Data Protocol(OData).
Basics of API Design and development. After the presentation, we developed a python flask-based app that you use to remind yourself anything via an api https://github.com/oquidave/reminderme
These were prepared to teach the module "Emerging Technologies" for the 3rd year Undergraduates of the Asia Pacific Institue of Information Technology, Colombo-2, Sri Lanka (Remotely)
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Leading Change strategies and insights for effective change management pdf 1.pdf
ASP.NET Mvc 4 web api
1. ASP.NET MVC 4 Web API
Tiago Knoch – tiago.knoch@comtrade.com
2. Contents
• What is an API?
• Why ASP.NET MVC Web API?
• HyperText Transfer Protocol
• REST
• JSON
• Introduction to Web API
• Routing Table
• Error & Exception Handling
• Model Validation
• Odata Protocol
• Media Formatters
• Security
• HTTPClient
• What Else?
• Road Map
3. What is an API?
• An application programming interface (API) is a specification intended to
be used as an interface by software components to communicate with
each other. An API may include specifications for routines, data structures,
object classes, and variables.
• For the web this mean Web Services (SOAP + XML + WSDL) but in Web 2.0
we are moving away to REST Services (HTTP + XML/JSON) – Web API
• Web APIs allow the combination of multiple services into new applications
known as mashups.
5. Why ASP.NET MVC Web Api?
• Web Api
– Defined in HTTP
– Messages in Json/XML
– RESTful
– CRUD operations
– Ready for Cloud
6. HyperText Transfer Protocol
• The Hypertext Transfer Protocol (HTTP) is an application protocol for
distributed, collaborative, hypermedia information systems. HTTP is the
foundation of data communication for the World Wide Web.
• HTTP functions as a request-response protocol in the client-server
computing model. A web browser, for example, may be the client and an
application running on a computer hosting a web site may be the server.
• The client submits an HTTP request message to the server. The server,
which provides resources such as HTML files and other content, or
performs other functions on behalf of the client, returns a response
message to the client. The response contains completion status
information about the request and may also contain requested content in
its message body.
7. HTTP – Example GET
GET / HTTP/1.1[CRLF]
Host: www.google.rs[CRLF] User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0)
Gecko/20100101 Firefox/15.0.1[CRLF]
Accept-Encoding: gzip[CRLF]
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8[CRLF]
Accept-Language: en-us,en;q=0.5[CRLF]
Status: HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1354
Content: <HTML data>
8. HTTP – Example POST
POST /somepage.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 19
name=tiago&surname=knoch
Status: HTTP/1.1 404 Not Found
9. Rest - Representational State Transfer
• REST is a style of software architecture for distributed systems such as the
WWW, where, virtually in all cases, the HTTP protocol is used.
• Uses CRUD actions (HTTP methods)
CRUD Action HTTP Method
Create Post
Read Get
Update Put
Delete Delete
• Each resource is represented by an global id (URI in HTTP)
• The resources are conceptually separate from the representations that are
returned to the client (JSON/XML)
In many ways, the World Wide Web itself, based on HTTP, can be viewed as
a REST-based architecture.
Despite being simple, REST is fully-featured; there's basically nothing you
can do in Web Services that can't be done with a RESTful architecture!
10. JSON
• JSON, or JavaScript Object Notation, is a text-based open standard
designed for human-readable data interchange. It is derived from the
JavaScript scripting language for representing simple data structures and
associative arrays, called objects. Despite its relationship to JavaScript, it is
language-independent, with parsers available for many languages.
11. ASP.NET MVC Web API
• MVC: Model -> View -> Controller
• Create a Model
• Create a controller
12. Routing Table
• Route is defined, by default, as api/{controller}/{id} where action is
defined by an HTTP method (in global.asax Application_Start method).
HTTP Method URI Path Action
GET /api/products GetAllProducts
GET /api/products/id GetProductById
GET /api/products/?category=category GetProductsByCategory
POST /api/products PostProduct
PUT /api/products/id PutProduct
DELETE /api/products/id DeleteProduct
13. Routing Table
The four main HTTP methods are mapped to CRUD operations:
• GET retrieves the representation of the resource at a specified URI. GET
should have no side effects on the server.
• PUT updates a resource at a specified URI (idempotent).
• POST creates a new resource. The server assigns the URI for the new
object and returns this URI as part of the response message.
• DELETE deletes a resource at a specified URI (idempotent).
15. Error & Exception Handling
• Response messages, errors and exceptions are translated to HTTP
response status codes.
• For example:
– POST request should reply with HTTP status 201 (created).
– DELETE request should reply with HTTP status 204 (no content).
• But:
– If a PUT/GET request is done with an invalid id, it should reply with HTTP status 404 (not
found)
– Or if a PUT request has an invalid model, it can reply with HTTP status 400 (bad request)
16. Error & Exception Handling
• By default, all .NET exceptions are translated into and HTTP response with
status code 500 (internal error).
• It is possible to register Exception filters:
17. Model Validation
• Like MVC, Web API supports Data Annotations
(System.ComponentModel.DataAnnotations, .net 4.0).
• If in your model there is a difference between 0 and not set, use nullable
values.
19. Model Validation – FilterAttribute
Create a FilterAttribute
Add it to Filters in Global.asax App_Start
20. Odata Protocol
• http://www.odata.org/
• “The Open Data Protocol (OData) is a Web protocol for querying and
updating data. OData does this by applying and building upon Web
technologies such as HTTP, Atom Publishing Protocol (AtomPub) and JSON
to provide access to information from a variety of
applications, services, and stores.”
• In Web API we want to do something like this:
/api/products?$top=3&$orderby=Name
/api/products/?$filter=substringof('a', Name) eq true
/api/products/?$filter=Price gt 5
/api/products/?$filter=Price gt 1 and Category eq 'Hardware'
21. Odata Protocol
• Change GET action method to return
IQueryable<T> and to use Queryable attribute
• Available as Nuget package (prerelease)!
PM> Install-Package Microsoft.AspNet.WebApi.OData -Pre
23. Media Formatters
• Web API only provides media formatters for JSON (using Json.NET library)
and XML!
• In HTTP, the format of message body is defined by the MIME type (media
type):
text/html, image/png, application/json, application/octet-stream
• When the client sends an HTTP request, the Accept header tells the server
wich media type it expects:
Accept: text/html, application/json, application/xml; q=0.9, */*; q=0.01
• Web API uses media formatters to:
– Read CLR objects from an HTTP message body (HTTP requests serializes to action
methods parameters),
– Write CLR objects to an HTTP message body (action methods returned objects serializes
to HTTP replies)
• You can create your own Media Formatter to serialize-deserialize your
model types!
24. Media Formatters - Example
Define which http media type is supported
Define which types can be deserialized
25. Media Formatters - Example
Deserialize type to stream
Define formatter in global.asax App_Start
26. Security
• Support for the [Authorize] Attribute
(System.Web.Http.AuthorizeAttribute)...but it only checks
UserPrincipal.Identity.IsAuthenticated (Forms authentication).
• For more secure options you need to implement a custom filter:
– Tokens (ex, Public/Private Keys)
– Oauth (http://oauth.net/)
– OpenID (http://openid.net/)
– Forms Authentication (already supported by ASP.NET)
– Basic Http Authentication (username/password encrypted )
– SSL
• Amazon S3 REST API uses a custom HTTP scheme based on a keyed-HMAC
(Hash Message Authentication Code) for authentication.
• The Facebook/Twitter/Google API use OAuth for authentication and
authorization.
27. Testing from a .NET client - HttpClient
• HttpClient - Available in .NET 4.5 or NuGet package
Microsoft.AspNet.WebApi.Client
• Or use RestSharp (http://restsharp.org/)
28. What else?
• Improved support for IoC containers
• Create help pages (IApiExplorer service)
• Web API Project Template in VS 2012
• Scaffold controllers from Entity Framework
model (like MVC)
• Easy integration with Azure
29. Road Map
• MVC 4 was released in ASP.NET 4.5 with Visual Studio 2012 and .NET
Framework 4.5.
• Check out more at http://www.asp.net/web-api
Currently around 7 thousand APIsImage – Most used APIs All-Time
You can make a Web API not RESTful if you want!
Content = Body
When a web browser sends a POST request from a web form element, the default Internet media type is "application/x-www-form-urlencoded".[1] This is a format for encoding key-value pairs with possibly duplicate keys. Each key-value pair is separated by an '&' character, and each key is separated from its value by an '=' character. Keys and values are both escaped by replacing spaces with the '+' character and then using URL encoding on all other non-alphanumeric[2] characters. HTML form tag should contains method="post".
Rest is abstract! It’s an architecture, not a protocol or framework. You can implement a REST architecture in web or desktop apps, in web services, in whatever you want.
The JSON format is often used for serializing and transmitting structured data over a network connection. It is used primarily to transmit data between a server and web application, serving as an alternative to XML.Douglas Crockford was the first to specify and popularize the JSON format.[1]JSON was used at State Software, a company co-founded by Crockford, starting around 2001. The JSON.org website was launched in 2002. In December 2005, Yahoo! began offering some of its web services in JSON.[2]Google started offering JSON feeds for its GData web protocol in December 2006.[3]
If a method throw NotImplementedException, this ExceptionFilter kicks in
Package Manager Console
Media formatter is defined during HTTP Content NegoiationContent Negotiation is composed of the following headers:Accept: which media types the client can acceptAccept-Charset: which character sets are acceptable (ex, UTF-8 or ISO 8859-1)Accept-Encoding: which content encodings are acceptable (ex, gzip)Accept-Language: which culture is acceptable (ex, en-us, sr-SP-Cyrl, pt-pt)
This is an example for deserialization (Get, from server to http). The correspondent methods for serialization exist (CanReadType and WriteToStream)
IoC = Inversion of controlIApiExplorer is a service that can get a complete runtime description of your web APIs.
ASP.NET MVC 4 was released in 15th Aug 2012You can use ASP.NET MVC4 with VS 2010 and .NET 4 too!