WSDelete
In order to remove an existing resource, you set the WSDelete attribute.
Syntax
WSDelete
Usage
You use this attribute to specify the action of the HTTP verb DELETE to delete a resource. You
set the WSDelete
attribute in the ATTRIBUTES()
clause of the
function.
Example deleting a resource with WSDelete
In this sample REST function a user resource is deleted. In the function's
id
parameter the attribute WSParam specifies the user to
delete.
WSThrows is set to handle errors. In the TRY/CATCH
block, the sqlca
record is checked after
the execution of the SQL query. The SQLERRMESSAGE
is set to the
message
field of the userError
variable, and a call to
SetRestError()
returns the message defined in WSThrows
for the error.
IMPORT com
PUBLIC DEFINE userError RECORD ATTRIBUTE(WSError = "User error")
message STRING
END RECORD
PUBLIC FUNCTION deleteUsers( id INTEGER ATTRIBUTES(WSParam) )
ATTRIBUTES(WSDelete,
WSPath = "/users/{id}",
WSDescription = "Delete a user profile",
WSThrows = "400:@userError")
RETURNS STRING
DEFINE ret STRING
TRY
DELETE FROM users WHERE @id = id
IF sqlca.sqlerrd[3] = 1 THEN # sqlerrd[3] = processed rows
LET ret = SFMT("Deleted user with ID: %1",id)
ELSE
LET ret = SFMT("No user with ID: %1",id)
END IF
CATCH
LET ret = SFMT("Error deleting user with ID: %1",id)
LET userError.message = SFMT("SQL error:%1 [%2]",
sqlca.sqlcode, SQLERRMESSAGE)
CALL com.WebServiceEngine.SetRestError(400,userError)
END TRY
RETURN ret
END FUNCTION