gpt4 book ai didi

android - 从 Android 调用 REST (POST) 网络服务

转载 作者:太空狗 更新时间:2023-10-29 12:49:14 24 4
gpt4 key购买 nike

我正在尝试创建一个网络服务并在 Android 中使用它。它正在使用 GET 方法,但我没有调用 POST 方法。

@Path("/dictionary")
public class DictionaryWebService {

private final static String ID = "id";
private final static String WORD = "palabra";
private final static String DESCRIPTION = "description";

.....
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Word postNewWord(MultivaluedMap<String, String> newWord) {

Word dict;


String id = newWord.getFirst(ID);
String word = newWord.getFirst(WORD);
String description = newWord.getFirst(DESCRIPTION);

dict = new Word(id, word, description);
dictionary.putNewWord(dict);

System.out.println("New Word info: " + dict.toString());

return dict;

}
}

我的安卓代码是:

        @Override
public void onClick(View arg0) {
System.out.println("onClick!!!");
HttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost("http://10.0.2.2:8080/DictionaryWebService/rest/dictionary/");
post.setHeader("content-type", "application/json");

//Construimos el objeto cliente en formato JSON
JSONObject dato = new JSONObject();



try {


dato.put("id", txtId.getText().toString());
dato.put("palabra", txtWord.getText().toString());
dato.put("description", txtDescription.getText().toString());

StringEntity entity = new StringEntity(dato.toString());
post.setEntity(entity);

HttpResponse resp = httpClient.execute(post);
String respStr = EntityUtils.toString(resp.getEntity());


System.out.println("OKAY!");

.....

}
});

我不知道,但我无法执行 web 服务,它没有被调用。怎么了??有人可以帮我吗? onclick 方法完成时没有任何错误。

谢谢。

最佳答案

我使用了您的代码,它工作正常吗?我所做的唯一更改是将帖子标题设置为;

post.setHeader("content-type", "application/json; charset=UTF-8");

关于android - 从 Android 调用 REST (POST) 网络服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14268029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com