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