Utilisation de la version 7.1 d'IBM Mobile First PlatForm J'essaie d'appeler un adaptateur Java depuis l'application iOS à l'aide du code suivant.IBM MobileFirst Envoi d'un corps JSON depuis le SDK iOS vers l'adaptateur Java
[[WLResourceRequest requestWithURL:url method:WLHttpMethodPost] sendWithJSON:@{@"one":@"two"} completionHandler:^(WLResponse *response, NSError *error) {
NSLog(@"%@",response);
NSLog(@"%@",error);
}];
La méthode Java côté adaptateur est la suivante.
@POST
@Consumes("application/json")
@Produces("application/json")
public String hello(JSONObject body){
return body.toString();
}
Mais je suis Après erreur en réponse
2016-04-20 11: 31: 15,520 mbs appel [15092: 3787968] Erreur de domaine = com.alamofire.error.serialization.response Code = -1011 "Demande échouée: type de support non pris en charge (415)" UserInfo = {com.alamofire.serialization.response.error.response = {URL: http: /0.0.0.0: 10080/mbs-api/adapteurs/basicadpt/utilisateurs} {code d'état: 415, en-têtes { Connexion = Fermer; "Content-Language" = "en-US"; "Content-Length" = 0; Date = "mer, 20 avril 2016 02:31:15 GMT"; "X-Powered-By" = "Servlet/3.0"; }}, NSErrorFailingURLKey = http://0.0.0.0:10080/mbs-api/adapters/basicadpt/users, com.alamofire.serialization.response.error.data = <>, NSLocalizedDescription = Échec de la demande: le type de média non pris en charge (415)}
Et il semble que dans iOS SDK, il ajoute application/x-www-url-form-urlencoded
en requête quand une méthode est appelée.
J'ai deux questions.
- Comment passer JSON corps adaptateur Java? Le comportement de
sendWithJSON
est différent sur iOS et Android. Sur Android, il semble ajouterapplication/json
en-tête lorsque nous appelons l'adaptateur. Est-ce un bug ou une partie du comportement?