[Из песочницы] Переписываем домашний проект на микросервисы (Java, Spring Boot, Gradle)
Комментарии (6)
5 июля 2017 в 15:17
+2↑
↓
Зачем использовать для микросервисов то, что для них не очень подходит?
5 июля 2017 в 16:08
0↑
↓
А что для них не подходит в данном случае?5 июля 2017 в 16:58
0↑
↓
Spring boot уже научился работать без встроенного tomcat? Если нет, то неподходит tomcat, так как он из старого мира монолитных приложений и тащит много лишнего.
5 июля 2017 в 17:07
0↑
↓
В теории Spring Boot можно использовать без встроенного tomcat, но на практике лично я не пробовал.
Но в целом, Spring Boot вроде как очень широко используется для микросервисов.5 июля 2017 в 17:09
0↑
↓
Если судить по статьям, вроде как предлагают использовать другие фрейморвки со встроенными http серверами.
Хотя, может я ошибаюсь, я давно не использовать Java и не знаю, как там сейчас дела (
5 июля 2017 в 16:08
0↑
↓
Удивило, что клиент очень напомнил мне мой, недавно реализованный на C#ApiClientpublic class ApiClient { protected readonly ApiContext _context; protected readonly string _apiPrefix; public ApiClient(ApiContext context, string apiPrefix) { _context = context; _apiPrefix = apiPrefix; } protected Task
GetAsync (string method, string param = null) { return RestRequest.GetAsync ( RequestUrl( method, param ) + $"?accessToken={GetAccessToken()}" ); } protected Task PutAsync (string method, string param = null) { return RestRequest.PutAsync ( RequestUrl( method, param ), $"accessToken={GetAccessToken()}" ); } protected Task PostAsync (string method, Dictionary fields) { return RestRequest.PostAsync ( RequestUrl( method ), fields ); } protected Task DeleteAsync (string method, string param = null) { return RestRequest.DeleteAsync ( RequestUrl( method, param ) + $"?accessToken={GetAccessToken()}" ); } protected string RequestUrl(string method, string param = null) { var url = $"{_context.apiServerUrl}{_apiPrefix}"; if (!string.IsNullOrEmpty( method )) url += "/" + method; if (!string.IsNullOrEmpty( param )) url += "/" + param; return url; } protected string GetAccessToken() { if (!_context.isAuthorized) throw new Exception("Context ins't authorized"); return _context.accessToken; } }