ResourceSupport ведет себя иначе, когда присутствует Swagger - PullRequest
0 голосов
/ 24 мая 2018

У меня есть класс UserMetasource, расширяющий ResourceSupport (из Spring Hateoas):

public class UserMetasource extends ResourceSupport {

    public UserMetasource() {
        this.add(linkTo(methodOn(UserController.class).getRoles("roles")));
    }

}

Затем в контроллере я возвращаю UserMetasource:

@GetMapping("/usermeta")
public UserMetasource getUM() {
    return new UserMetasource();
}

Это возвращает этот JSON:

{
  links: {
    roles: {
      href: "bla bla bla"
    }
  }
}

Так хорошо, пока.Теперь я добавил Swagger в свой проект:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.4.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.4.0</version>
</dependency>

И я прокомментировал конечную точку следующим образом:

@GetMapping("/usermeta")
@ApiOperation(value = "Get UM", response = UserMetasource.class)
public UserMetasource getUM() {
    return new UserMetasource();
}

, и теперь JSON вернул следующее:

{
  _links: {
    roles: {
      href: "bla bla bla"
    }
  }
}

Обратите внимание, что _links начинается с подчеркивания.Это почему?Можно ли этого избежать?Я хочу, чтобы links всегда был без подчеркивания.

...