question: @ RequestMapping ( method = RequestMethod . PUT , value = "/{region}/{keys}" , consumes = { MediaType . APPLICATION_JSON_VALUE } , produces = { MediaType . APPLICATION_JSON_VALUE } ) @ ApiOperation ( value = "update data for key" , notes = "Update or insert (put) data for key in region." + "op=REPLACE, update (replace) data with key if and only if the key exists in region" + "op=CAS update (compare-and-set) value having key with a new value if and only if the \"@old\" value sent matches the current value for the key in region" , response = void . class ) @ ApiResponses ( { @ ApiResponse ( code = 200 , message = "OK." ) , @ ApiResponse ( code = 400 , message = "Bad Request." ) , @ ApiResponse ( code = 401 , message = "Invalid Username or Password." ) , @ ApiResponse ( code = 403 , message = "Insufficient privileges for operation." ) , @ ApiResponse ( code = 404 , message = "Region does not exist or if key is not mapped to some value for REPLACE or CAS." ) , @ ApiResponse ( code = 409 , message = "For CAS, @old value does not match to the current value in region" ) , @ ApiResponse ( code = 500 , message = "GemFire throws an error or exception." ) } ) @ PreAuthorize ( "@securityService.authorize('WRITE', #region, #keys)" ) public ResponseEntity < ? > update ( @ PathVariable ( "region" ) String region , @ PathVariable ( "keys" ) final String [ ] keys , @ RequestParam ( value = "op" , defaultValue = "PUT" ) final String opValue , @ RequestBody final String json ) { logger . debug ( "updating key(s) for region ({}) " , region ) ; region = decode ( region ) ; if ( keys . length > 1 ) { return updateMultipleKeys ( region , keys , json ) ; } else { return updateSingleKey ( region , keys [ 0 ] , json , opValue ) ; } }
target:  Update data for a key or set of keys