CRUD Operations using WCF
RESTful Service – Part 2
• In previous part of this WCF Tutorial, we created a WCF RESTful service
step by step and make it available to be consumed by a client. Here in this
part, we will write and understand code to consume the RESTful web
service using jQuery. Same like previous part, I will write complete jQuery
code for all CRUD operations instead of leaving something for the reader.
One of the advantages of using REST based service is that it can be
consumed by a wide range of client applications.
• Following is the jQuery code for each CRUD operation call against WCF
RESTful service created in part 1 of this WCF Application Tutorial series. For
the purpose of implementation, I have created a new ASP.NET project to
existing solution and add an ASP.NET Web Form to make calls. But you can
have your own choice of client implementation using following jQuery
• Note: For this implementation, my focus is to provide you with jQuery
code for calling a WCF RESTful Service for all CRUD (Create | Retrieve
| Update | Delete) operations. So to avoid UI complications, I am
preparing the data object for CREATE and UPDATE operations inside
the code instead of using User Interface form. You can implement that
in your own way and according to your need but jQuery AJAX call for
all CRUD operations to WCF REST based Service will remain same.
• jQuery asynchronous HTTP Request is made with type as “GET”. It
represents HTTP verb being used to make a call. We have used same verb
on WebInvoke attribute while defining service contract for GetBookList
• Second important thing is
In order to understand it, we can break up above URL into two parts as:
• http://localhost/RESTServiceCRUD/BookService.svc is simple URL to our
service file (.svc).
• /Books/ is what we define as UriTemplate in WebInvoke attribute of that
• Note: You may have noticed that for in Part-1, method name in
service contract was “GetBookList” but UriTemplate was “Books/”. So,
client only understand UriTemplate not the exact method name.
• Third and last input parameter is “Content-Type”. It’s sent with
request header to tell server that what kind of response is expected
on client-side i.e. JSON.
• On success, the output will be in the form of JSON, so just parse it and
append rows to already entered html table.
• “GetBookById” is another way of consuming RESTful service and
getting a record by bookId.
In this case the URL is “http://localhost/RESTServiceCRUD/BookService.svc/BookById/2″.
UriTemplate is “BookById” for service method “GetBookById” and “2” is the parameter for bookId.
Implementation for adding a new book or updating an existing record is as follows: