feign.Body Maven / Gradle / Ivy
package feign;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.util.Map;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* A possibly templated body of a PUT or POST command. variables wrapped in curly braces are expanded before the
* request is submitted.
*
* ex.
*
*
* @Body("<v01:getResourceRecordsOfZone><zoneName>{zoneName}</zoneName><rrType>0</rrType></v01:getResourceRecordsOfZone>")
* List<Record> listByZone(@Named("zoneName") String zoneName);
*
*
* Note that if you'd like curly braces literally in the body, urlencode
* them first.
*
* @see RequestTemplate#expand(String, Map)
*/
@Target(METHOD) @Retention(RUNTIME) public @interface Body {
String value();
}