Я бы предложил, чтобы вы стандартизировали свой ответ, внедрив стандартный ответ API. Например, каждый ответ должен иметь стандартный идентификатор транзакции. В идеале этот базовый ответ можно использовать в общей или общей библиотеке, используемой всеми микросервисами.
public class ApiResponse
{
@JsonProperty
private String transactionId;
...
}
Каждый microservice
ответ API будет расширять базовый ответ (т.е. ApiResponse
) ответа
public class MyServiceApiResponse extends ApiResponse
{
@JsonProperty
public String country;
@JsonProperty
public List<City> cities;
public MyServiceApiResponse(String transactionId, String country, List<City> cities)
{
super(transactionId);
this.country = country;
this.cities = cities;
}
....
}
Контроллер API возвращает ответ, подобный этому. Например:
@GetMapping(path = PATH)
@ResponseStatus(HttpStatus.ACCEPTED)
public MyServiceApiResponse getCountry(String transactionId, String country)
{
...
List<City> cities = getCities(country);
....
return new MyServiceApiResponse(transactionId, country, cities);
}