I have recently started out with Spring and am unsure about how to approach this issue. I have a Spring boot program which makes calls to remote REST APIs. For example an AddressService
class with getAddress(String user)
method, which makes a HTTP call and returns a JSON response. I would like to set up Spring profiles for development purposes local
, dev
, uat
, prod
.
When the program is running with the local
profile, I would like to "mock" these external API calls with an expected JSON response, so I can just test logic, but when it is run in any of the other profiles I would like to make the actual calls. How can I go about doing this? From what I read, there's many ways people approach this, using WireMock
, RestTemplate
, Mockito
etc. I'm confused about which is the way to go.
Any advice would be greatly appreciated. Thanks.