RESTful Webservices

Representational State Transfer (REST) is a software architecture style. It comprises of of guidelines for creating scalable web services.
RESTful web services communicate over the HTTP Hypertext Transfer Protocol.
They makes use of HTTP protocols (GET, POST, PUT, DELETE, etc.) on the web browsers to retrieve web pages and send data to remote servers.
The World Wide Web represents is the largest implementation of a system that adheres to the REST architectural style.


REST based architecture considers everything as resources. It accesses all the resources by making use of HTTP standard methods(get,post,put,delete).
Resources are accessed by URI i.e. Uniform resource identifier .
The most common form of URI is the uniform resource locator (URL), informally referred as a web address.
The resources that RESTful webservices can access can be in TEXT,HTML,XML,JSON,etc.

Web service APIs that adhere to the REST architectural constraints are called RESTful. HTTP based RESTful APIs have the following attributes:
  • Base URI, such as http://mywebservice.com/resources/
  • Hypertext links to reference state
  • Hypertext links to reference related resources
  • Data which is  Internet media type i.e. which can be communicated via internet. This is often JSON but can be any other valid Internet media type (e.g. XML, Atom, microformats, images, etc.)
  • HTTP methods (e.g., GET, PUT, POST, or DELETE)

Following are the HTTPS Methods used :

  • GET
  • PUT
  • POST
  • DELETE
GET -Get is used to access and read a resource.
PUT- Put is used to create new resource.
POST- Post is used to update existing resource or create new resource
DELETE – Delete is used to remove the resources

Links to useful posts:

·         Abstraction
·         Method Overriding
·         Method Overloading
·         Instance Variables 
·         Java Applets
·         Pop ups and Alerts
·         Absolute path
·         Relative path
·         Annotations
·         JSP Vs Servlet
·         Absolute path Vs Relative path
·         Testng Annotations - part 1
·         Model-based testing (MBT)
·         Big Data Testing
·         Cloud Testing
·         TDD Test Driven Development
·         Verification vs Validation
·         Software testing types
·         Risk Management