В прошлых проектах, над которыми я работал, конечная точка была относительной собственностью. То есть к нему можно добавить или нет, но оно всегда содержало protocol://host:port/partOfThePath
.
Если вызываемая служба имеет динамическую часть, например, a ?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;
Надеюсь, что проливает свет.