java-restify
Search…
@Form
Outra opção é criar um objeto que representa a estrutura de um formulário, anotado com @Form:
1
@Form
2
class MyForm {
3
4
@Field
5
String name;
6
7
@Field("customer_age")
8
int age;
9
}
10
11
public interface MyApi {
12
13
/* em requisições com o content-type application/x-www-form-urlencoded,
14
objetos anotados com @Form serão automaticamente serializados */
15
16
@Path("/customers") @Post
17
@FormURLEncoded
18
Customer createCustomer(@BodyParameter MyForm parameters);
19
20
}
Copied!
Objetos anotados com @Form também podem ser utilizados em requisições do tipo GET, usando o serializador FormObjectParameterSerializer. O objeto será deserializado em uma query string.
1
import com.github.ljtfreitas.restify.http.client.message.converter.form.FormObjectParameterSerializer;
2
3
public interface MyApi {
4
5
@Path("/customers") @Get
6
Customer findCustomerByParameters(@QueryParameters(serializer = FormObjectParameterSerializer.class) MyForm myForm);
7
8
}
9
10
public static void main(String[] args) {
11
12
MyApi myApi = new RestifyProxyBuilder()
13
.target(GitHub.class)
14
.build();
15
16
MyForm myForm = new FormParameters();
17
myForm.name = "Tiago de Freitas Lima";
18
myForm.age = 31;
19
20
// name=Tiago+de+Freitas+Lima&customer_age=31
21
Customer customer = myApi.findCustomerByParameters(myForm);
22
}
Copied!
Copy link