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(org.springframework.web.util.UriComponentsBuilder builder,
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. |
org.springframework.web.util.UriComponentsBuilder |
toUriComponentsBuilder()
Returns a
UriComponentsBuilder to continue to build the already built URI in a more fine grained way. |
createNewInstance, toStringaddAffordances, slash, slash, toUri, withFreshBuilder, 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, 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()
LinkBuilderSupportgetThis in class LinkBuilderSupport<WebMvcLinkBuilder>protected WebMvcLinkBuilder createNewInstance(org.springframework.web.util.UriComponentsBuilder builder, List<Affordance> affordances, TemplateVariables variables)
createNewInstance in class TemplateVariableAwareLinkBuilderSupport<WebMvcLinkBuilder>public org.springframework.web.util.UriComponentsBuilder toUriComponentsBuilder()
UriComponentsBuilder to continue to build the already built URI in a more fine grained way.Copyright © 2012-2019–2019 Pivotal, Inc.. All rights reserved.