New in 1.0.0.M1
I've written an endpoint that updates an object based on a provided ID (path parameter), and some variables (request parameters):
@PostMapping("entity/{id}")
public ResponseEntity<Void> update(@PathVariable UUID id, @RequestParam String variable)
When I try to generate a HATEOAS link to this resource:
resource.add(linkTo(methodOn(Controller.class).update(resource.getContent().getId(), null)).withRel("update"));
I get a NPE because my endpoint has POST method, but no RequestBody parameter, and thus following line (PropertyUtils.java:86) raises a NPE:
if (resolvableType.getRawClass().equals(EntityModel.class)) {
Stack trace is like:
java.lang.NullPointerException: null
at org.springframework.hateoas.mediatype.PropertyUtils.findPropertyNames(PropertyUtils.java:86) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
at org.springframework.hateoas.mediatype.collectionjson.CollectionJsonAffordanceModel.determineInputs(CollectionJsonAffordanceModel.java:69) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
at org.springframework.hateoas.mediatype.collectionjson.CollectionJsonAffordanceModel.<init>(CollectionJsonAffordanceModel.java:55) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
at org.springframework.hateoas.mediatype.collectionjson.CollectionJsonAffordanceModelFactory.getAffordanceModel(CollectionJsonAffordanceModelFactory.java:42) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
at org.springframework.hateoas.Affordance.<init>(Affordance.java:67) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
at org.springframework.hateoas.server.core.SpringAffordanceBuilder.create(SpringAffordanceBuilder.java:77) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
at org.springframework.hateoas.server.core.WebHandler.lambda$linkTo$0(WebHandler.java:146) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
at org.springframework.hateoas.server.mvc.WebMvcLinkBuilderFactory.linkTo(WebMvcLinkBuilderFactory.java:125) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
at org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo(WebMvcLinkBuilder.java:174) ~[spring-hateoas-1.0.0.M1.jar:1.0.0.M1]
Issue raised since I updated to 1.0.0.M1.
Same code used to work in previous versions.
New in 1.0.0.M1
I've written an endpoint that updates an object based on a provided ID (path parameter), and some variables (request parameters):
When I try to generate a HATEOAS link to this resource:
I get a NPE because my endpoint has
POSTmethod, but noRequestBodyparameter, and thus following line (PropertyUtils.java:86) raises a NPE:Stack trace is like:
Issue raised since I updated to 1.0.0.M1.
Same code used to work in previous versions.