September 16, 2012 01:14 by admin
ASP.Net MVC 4 has been released and it comes with the Web API, a new framework to support HTTP based services. This is what I have been waiting for… a product from Microsoft that means my Resources Over MVC (ROM) project can be deprecated… or can it?
November 19, 2011 21:35 by Admin
The Resources Over MVC (ROM) assembly allows your RESTful web service to serve multiple representations. Out of the box it supports JSON and XML. One advantage of creating a web service using ASP.Net MVC rather than Windows Communication Foundation (WCF) is that you also get great support for serving XHTML as another representation. This allows a developer to investigate your web service with their browser. In this post we’ll look at providing help (and a test harness) for the client developer directly within the web service.
June 6, 2010 00:04 by admin
Joel Feaster emailed to say he was having trouble with the Accept header handling of the web service. When he used jQuery’s getJSON method it would use the following Accept header:
You’ll notice there are no q parameters in that header, so according to the HTTP 1.1 specification, they should all be treated as having a q value of 1. However, the specification does not dictate which format should take precedence when all acceptable formats have the same q value. But looking at that header and knowing it comes from a method named getJSON, you might hope the web service would pick application/json.
January 16, 2010 00:42 by admin
In this series of posts, I have concentrated upon creating a truly RESTful web service… it has not been a priority to use the full power of ASP.Net MVC’s extensibility. However, this has resulted in a solution that is too intrusive into ASP.Net MVC. The consequences being, any web service developed with the Shoulders of Giants DLL can be difficult to write unit tests for or extend in other directions… so with this and my previous post, I hope to address this.
December 20, 2009 14:08 by admin
A little while back I reviewed the Rest for ASP.NET MVC SDK that was released by Microsoft WCF team. I liked some of the ideas it contained so promised to bring some of those into our code. Well, I’ve finally started to do that.
November 27, 2009 21:11 by admin
I have been doing most of my ASP.Net MVC RESTful web service development on IIS6 or IIS7. Recently however, I tried it on Windows 7 RTM using IIS7.5. Using the “Classic .Net AppPool” everything worked great. Then I tried the “DefaultAppPool” (i.e. using Integrated Mode). Everything seemed fine… until I wanted to PUT a new resource and DELETE a resource.
January 25, 2009 01:29 by admin
At the end of my last post about adding connectedness to our web service I had added support for XHTML and XML representations. This allowed us to inject URIs into the representation without changing our Model classes. This was relatively simple because, for those representations, we had stuck to the principle introduced in Multiple Representations of having a transformation layer between internal and external representations of our entities. In this post I want to tackle JSON representations.
December 31, 2008 15:33 by admin
In their book RESTful Web Services, Leonard Richardson and Sam Ruby take Roy Fielding’s phrase ”hypermedia as the engine of application state” and explain that it means that the responsibility for tracking and changing application state lies with the client rather than the server. The server indicates how the client can change the application state by providing URIs that point to other possible states. The phrase they prefer to use in place of Roy Fielding’s phrase is “Connectedness.”
December 12, 2008 01:01 by admin
In this entry I would like to round up where we have got to so far with this web service. Over the last 13 posts we have developed a fairly functional web service that sticks pretty much to the ideas presented in Leonard Richardson and Sam Ruby’s book RESTful Web Services. It is developed using C# using the (currently Beta) MVC framework from Microsoft that extends the ASP.Net framework.
As an aside, I’ve also taken on board a comment from Stephan and moved some of the reusable classes into their own assembly.
December 5, 2008 00:55 by admin
Now we can create a resource from an incoming XHTML representation, it is time to accept a representation of a new resource via an HTTP POST. This should be pretty much the same as accepting a new resource via an HTTP PUT.
So what is the difference between a PUT request and a POST request? A PUT request is made directly to the URI of the new resource, the client dictates the URI. A POST request is made to the URI of the new resource’s “parent” URI, the server decides on the full URI of new resource.