@RequestMapping(value = { "/{cfInstanceId}/v2/service_instances/{instanceId}/service_bindings/{bindingId}", "/v2/service_instances/{instanceId}/service_bindings/{bindingId}" }, method = RequestMethod.PUT) public ResponseEntity<?> createServiceInstanceBinding(@PathVariable Map<String, String> pathVariables, @PathVariable("instanceId") String serviceInstanceId, @PathVariable("bindingId") String bindingId, @RequestHeader(value = API_INFO_LOCATION_HEADER, required = false) String apiInfoLocation, @RequestHeader(value = ORIGINATING_IDENTITY_HEADER, required = false) String originatingIdentityString, @Valid @RequestBody CreateServiceInstanceBindingRequest request) { request.withServiceInstanceId(serviceInstanceId) .withBindingId(bindingId) .withServiceDefinition(getServiceDefinition(request.getServiceDefinitionId())) .withCfInstanceId(pathVariables.get("cfInstanceId")) .withApiInfoLocation(apiInfoLocation) .withOriginatingIdentity(parseOriginatingIdentity(originatingIdentityString)); log.debug("Creating a service instance binding: request={}", request); CreateServiceInstanceBindingResponse response = serviceInstanceBindingService.createServiceInstanceBinding(request); log.debug("Creating a service instance binding succeeded: serviceInstanceId={}, bindingId={}, response={}", serviceInstanceId, bindingId, response); return new ResponseEntity<>(response, response.isBindingExisted() ? HttpStatus.OK : HttpStatus.CREATED); }