|
|
|
# Feign Spring
|
|
|
|
This module overrides OpenFeign/feign annotation processing to instead use standard ones supplied by the spring annotations specification.
|
|
|
|
|
|
|
|
|
|
|
|
## Currently Supported Annotation Processing
|
|
|
|
Feign only supports processing java interfaces (not abstract or concrete classes).
|
|
|
|
|
|
|
|
ISE is raised when any annotation's value is empty or null. Ex. `Path("")` raises an ISE.
|
|
|
|
|
|
|
|
Here are a list of behaviors currently supported.
|
|
|
|
### Type Annotations
|
|
|
|
#### `@RequestMapping`
|
|
|
|
Appends the ```value``` to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations.
|
|
|
|
The ```method``` sets the request method.
|
|
|
|
The ```produces``` adds the first value as the `Accept` header.
|
|
|
|
The ```consume``` adds the first value as the `Content-Type` header.
|
|
|
|
### Method Annotations
|
|
|
|
#### `@RequestMapping`
|
|
|
|
Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations.
|
|
|
|
The method sets the request method.
|
|
|
|
#### `@GetMapping`
|
|
|
|
Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations.
|
|
|
|
Sets the `GET` request method.
|
|
|
|
#### `@PostMapping`
|
|
|
|
Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations.
|
|
|
|
Sets the `POST` request method.
|
|
|
|
#### `@PutMapping`
|
|
|
|
Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations.
|
|
|
|
Sets the `PUT` request method.
|
|
|
|
#### `@DeleteMapping`
|
|
|
|
Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations.
|
|
|
|
Sets the `DELETE` request method.
|
|
|
|
#### `@PatchMapping`
|
|
|
|
Appends the value to `Target.url()`. Can have tokens corresponding to `@PathVariable` annotations.
|
|
|
|
Sets the `PATCH` request method.
|
|
|
|
### Parameter Annotations
|
|
|
|
#### `@PathVariable`
|
|
|
|
Links the value of the corresponding parameter to a template variable declared in the path.
|
|
|
|
#### `@RequestParam`
|
|
|
|
Links the value of the corresponding parameter to a query parameter. When invoked, null will skip the query param.
|