В прошлых проектах, над которыми я работал, конечная точка была относительной собственностью. То есть он может быть или не быть добавлен, но он всегда содержал protocol://host:port/partOfThePath
.
Если вызываемая служба имеет динамическую часть, например ?param=dynamicValue
, то эта часть будет добавлена к конечной точке. Но во многих случаях конечная точка может использоваться как есть, без внесения изменений.
Важно понимать, что не является конечной точкой и как она помогает. Например, альтернативный способ передачи информации, хранящейся в конечной точке, заключается в хранении различных частей конечной точки в отдельных свойствах. Например:
hostForServiceA=someIp
portForServiceA=8080
pathForServiceA=/some/service/path
hostForServiceB=someIp
portForServiceB=8080
pathForServiceB=/some/service/path
Или, если один и тот же хост и порт для нескольких служб:
host=someIp
port=8080
pathForServiceA=/some/service/path
pathForServiceB=/some/service/path
В этих случаях полный URL-адрес должен быть построен в вашем коде следующим образом:
String url = "http://" + host + ":" + port + pathForServiceA + "?" + dynamicParam + "=" + dynamicValue;
В контракте это может быть сохранено как конечная точка как таковая
serviceAEndpoint=http://host:port/some/service/path?dynamicParam=
И да, мы много раз хранили конечную точку вплоть до '='. Это приводит к следующему коду:
String url = serviceAEndpoint + dynamicValue;
Надеюсь, что проливает свет.