/REST

Service Integration with Netflix Feign and Ribbon

The guys at Netflix have developed and open sourced (among many other things) Feign and Ribbon.  These libraries can help you as a developer, to build robust, fault tolerant service integrations.  Best of all, they've been tested in the wild by Netflix, who use both libraries extensivley in their own microservices architecture. In this post we'll look at Feign and Ribbon to see how they can be used in the context of a Spring Boot application. What is Feign? Feign is a library that helps developers create declarative HTTP clients by simply defining an interface and annotating it. At runtime, Feign creates the HTTP client [...]

By |2019-04-19T20:32:05+00:00April 16th, 2019|Micro Services, REST, Spring Boot|1 Comment

Building a Serverless App with AWS Lambda, S3, DynamoDB & API Gateway

Building a Serverless App with AWS Lambda, S3, DynamoDB & API Gateway What is AWS Lambda? AWS Lambda is an on demand compute service, where code is invoked in response to certain events. Events can originate internally from other AWS services, for example, a file upload to an S3 bucket, or externally from your own applications via HTTP. Lambda functions can be written in any of the supported runtimes. At the time of writing, Lambda supports Python, NodeJS, C# and Java. Unlike a traditional server side application, a Lambda function is not a continuously running process that waits for incoming requests. When Lambda receives an [...]

By |2019-02-06T17:04:34+00:00January 15th, 2018|AWS, REST|0 Comments

REST HATEOAS with Spring

REST HATEOAS with Spring The Richardson maturity model breaks the REST architectural style into various levels of maturity. Level zero describes a system that uses HTTP as a transport mechanism only (also known as URI tunnelling). A single URI and HTTP verb is typically used for all interactions with POX (plain old XML) being posted over the wire. Old school SOAP-RPC is a good level zero example. Level one describes a system that builds on level zero by introducing the notion of resources. Resources typically represent some business entity and are usually described using nouns. Each resource is addressed via a unique URI and a single [...]

By |2019-02-07T08:02:28+00:00July 18th, 2017|REST, Spring Boot|0 Comments

REST Endpoint Testing With MockMvc

REST Endpoint Testing With MockMvc In this post I'm going to show you how to test a Spring MVC Rest endpoint without deploying your application to a server. In the past, full integration tests were the only meaningful way to test a Spring REST endpoint. This involved spinning up a test server like Tomcat or Jetty, deploying the application, calling the test endpoint, running some assertions and then terminating the server. While this is an effective way to test an endpoint, it isn't particularly fast. We're forced to wait while the entire application is stood up, just to test a single endpoint. An alternative approach [...]

By |2019-02-11T07:31:42+00:00May 25th, 2017|REST, Spring Boot, Testing|0 Comments

Spring Boot REST Tutorial

Spring Boot REST Tutorial Spring Boot makes it easier to build Spring based applications by focusing on convention over configuration.  Following standard Spring Boot conventions we can minimise the configuration required to get an application up and running. The use of an embedded Servlet container allows us to package the application as an executable JAR and simply invoke it on the command line to launch the application. One of my favourite things about Boot is its emphasis on production readiness. Out of the box it provides a number of key non functional features, such as metrics, health checks and externalised configuration. In the past these [...]

By |2019-02-18T07:23:41+00:00December 1st, 2015|REST, Spring Boot|11 Comments

Spring REST Tutorial

Spring REST Tutorial I've just written an updated tutorial for building a RESTful services with Spring Boot. Have a look here. In this post I’ll show you how to implement a RESTful web service using the Spring framework. REST support was introduced as part of Spring 3 and is built on top of the existing Spring MVC stack, so anyone that has worked with Spring MVC in the past should find the REST support very easy to grasp. I’ll provide a step by step guide so even if you’re not familiar with Spring MVC you should be able get a RESTful service up and running [...]

By |2019-02-21T16:50:59+00:00August 19th, 2012|REST, Spring|53 Comments