public class WebMvcLinkBuilder extends TemplateVariableAwareLinkBuilderSupport<WebMvcLinkBuilder>
Link
instances pointing to Spring MVC controllers.Modifier and Type | Method and Description |
---|---|
static Affordance |
afford(Object invocationValue)
|
protected WebMvcLinkBuilder |
createNewInstance(UriComponents components,
List<Affordance> affordances,
TemplateVariables variables) |
protected WebMvcLinkBuilder |
getThis()
Returns the current concrete instance.
|
static WebMvcLinkBuilder |
linkTo(Class<?> controller)
Creates a new
WebMvcLinkBuilder with a base of the mapping annotated to the given controller class. |
static WebMvcLinkBuilder |
linkTo(Class<?> controller,
Map<String,?> parameters)
Creates a new
WebMvcLinkBuilder with a base of the mapping annotated to the given controller class. |
static WebMvcLinkBuilder |
linkTo(Class<?> controller,
Method method,
Object... parameters) |
static WebMvcLinkBuilder |
linkTo(Class<?> controller,
Object... parameters)
Creates a new
WebMvcLinkBuilder with a base of the mapping annotated to the given controller class. |
static WebMvcLinkBuilder |
linkTo(Method method,
Object... parameters) |
static WebMvcLinkBuilder |
linkTo(Object invocationValue)
Creates a
WebMvcLinkBuilder pointing to a controller method. |
static <T> T |
methodOn(Class<T> controller,
Object... parameters)
Wrapper for
DummyInvocationUtils.methodOn(Class, Object...) to be available in case you work with static
imports of WebMvcLinkBuilder . |
UriComponentsBuilder |
toUriComponentsBuilder()
Returns a
UriComponentsBuilder to continue to build the already built URI in a more fine grained way. |
createNewInstance, toString
addAffordances, getAffordances, slash, slash, toUri, withRel, withSelfRel
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
withRel
public static WebMvcLinkBuilder linkTo(Class<?> controller)
WebMvcLinkBuilder
with a base of the mapping annotated to the given controller class.controller
- the class to discover the annotation on, must not be null.public static WebMvcLinkBuilder linkTo(Class<?> controller, Object... parameters)
WebMvcLinkBuilder
with a base of the mapping annotated to the given controller class. The
additional parameters are used to fill up potentially available path variables in the class scop request mapping.controller
- the class to discover the annotation on, must not be null.parameters
- additional parameters to bind to the URI template declared in the annotation, must not be
null.public static WebMvcLinkBuilder linkTo(Class<?> controller, Map<String,?> parameters)
WebMvcLinkBuilder
with a base of the mapping annotated to the given controller class.
Parameter map is used to fill up potentially available path variables in the class scope request mapping.controller
- the class to discover the annotation on, must not be null.parameters
- additional parameters to bind to the URI template declared in the annotation, must not be
null.public static WebMvcLinkBuilder linkTo(Method method, Object... parameters)
public static WebMvcLinkBuilder linkTo(Class<?> controller, Method method, Object... parameters)
public static WebMvcLinkBuilder linkTo(Object invocationValue)
WebMvcLinkBuilder
pointing to a controller method. Hand in a dummy method invocation result you
can create via methodOn(Class, Object...)
or DummyInvocationUtils.methodOn(Class, Object...)
.
@RequestMapping("/customers") class CustomerController { @RequestMapping("/{id}/addresses") HttpEntity<Addresses> showAddresses(@PathVariable Long id) { … } } Link link = linkTo(methodOn(CustomerController.class).showAddresses(2L)).withRel("addresses");The resulting
Link
instance will point to /customers/2/addresses
and have a rel of
addresses
. For more details on the method invocation constraints, see
DummyInvocationUtils.methodOn(Class, Object...)
.invocationValue
- public static Affordance afford(Object invocationValue)
Link
from the WebMvcLinkBuilder
and look up the related Affordance
. Should only
be one.
Link findOneLink = linkTo(methodOn(EmployeeController.class).findOne(id)).withSelfRel() .andAffordance(afford(methodOn(EmployeeController.class).updateEmployee(null, id)));This takes a link and adds an
Affordance
based on another Spring MVC handler method.invocationValue
- public static <T> T methodOn(Class<T> controller, Object... parameters)
DummyInvocationUtils.methodOn(Class, Object...)
to be available in case you work with static
imports of WebMvcLinkBuilder
.controller
- must not be null.parameters
- parameters to extend template variables in the type level mapping.protected WebMvcLinkBuilder getThis()
LinkBuilderSupport
getThis
in class LinkBuilderSupport<WebMvcLinkBuilder>
protected WebMvcLinkBuilder createNewInstance(UriComponents components, List<Affordance> affordances, TemplateVariables variables)
createNewInstance
in class TemplateVariableAwareLinkBuilderSupport<WebMvcLinkBuilder>
public UriComponentsBuilder toUriComponentsBuilder()
UriComponentsBuilder
to continue to build the already built URI in a more fine grained way.Copyright © 2011–2020 Pivotal, Inc.. All rights reserved.