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) |
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) |
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, toStringaddAffordances, getAffordances, slash, slash, toUri, withRel, withSelfRelclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitwithRelpublic 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)
public static WebMvcLinkBuilder linkTo(Method method, Object... parameters)
public static WebMvcLinkBuilder linkTo(Class<?> controller, Method method)
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()
LinkBuilderSupportgetThis 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–2022 Pivotal, Inc.. All rights reserved.