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(@Param("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();
}