SPRING HATEOS LINKS (HTTPS против HTTP)

У меня есть простой сервис отдыха, который возвращает ответ, когда операция GET выполняется вместе со ссылками HATEOS. Когда служба развернута на сервере и доступна через URL-адрес балансировщика нагрузки (Https), раздел ссылок содержит URL-адрес с "http" вместо "https". Любой пример решения / кода для этого конкретного scneario поможет мне.

Например:

Если операция GET выполняется с использованием URL-адреса ( https://servicename.example.com/), то я ожидаю, что тот же URL-адрес будет в разделе ссылок. Но я получаю что-то вроде ниже.

Тело ответа:

       {
      "fieldA": null,
      "fieldB": null,
      "links": [
        {
         "rel": "self",
         "href": "http://servicename.example.com" // It has to be https
        }
      ]
     }

Ниже приведена строка кода, которая добавляет ссылки на Ресурс Отдыха, которые будут доступны потребителю.

 resource.getLinks().add(linkTo(methodOn(ExampleController.class).methodInExampleController(arg a, arg b)).withSelfRel());

Ресурс, который предоставляется потребителю, расширяет другой класс "ResourceSupport", где объявляется поле с именем links, которое имеет тип List.

Пример класса Resource:

     imnport com.examplepackage.ResourceSupport

     public SampleResource extends ResourceSupport{

        private String fieldA,

        private String fieldB,

        //setters and getters

          }

Пример класса, в котором объявлены ссылки HATEOS

      import org.springframework.hateoas.Identifiable;
      import org.springframework.hateoas.Link;

      public ResourceSupport implements Identifiable<Link>{

            @JsonInclude(Include.NON_EMPTY)
            private final List<Link> links = new ArrayList();

            @JsonProperty("links")
            public List<Link> getLinks() {
             return this.links;
              }
          }

Весенняя версия HATEOS: spring-hateos0.24.0.RELEASE

0 ответов

Другие вопросы по тегам