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

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

0 голосов
/ 10 января 2019

У меня есть простая служба отдыха, которая возвращает ответ, когда операция 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.

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

     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;
              }
          }

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

...