Retrofit进行post提交json数据
1:先看一看xutils3的提交代码
String account = editText1.getText().toString();
String password = editText2.getText().toString();
JSONObject js_request = new JSONObject();//服务器需要传参的json对象
try {
js_request.put("account", account);//添加相应键值对
js_request.put("password", password);
} catch (JSONException e) {
e.printStackTrace();
}
RequestParams requestParams = new RequestParams(LOGIN_URL);
requestParams.setAsJsonContent(true);
requestParams.setBodyContent(js_request.toString());
x.http().post(requestParams, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
System.out.println("**ok"+result);
try {
JSONObject object = new JSONObject(result);
String code = object.getString("code");
if (code.equals("1")) {
// button.setClickable(false);
//登录成功后获得id } else {
// 登陆失败
} } catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
System.out.println("errot");
} @Override
public void onCancelled(CancelledException cex) {
}
@Override
public void onFinished() {
}
});
}
2:Retrofit提交过程
2.1 登陆 urL
public static String LOGIN_URL = "http://114.xx.xxx.xx:8088/vdyweb/ws/rest/Login";
interface APIStore {
@Headers({"Content-Type: application/json","Accept: application/json"})//需要添加头
@POST ("vdyweb/ws/rest/Login")
Call<ResponseBody>getMessage(@Body RequestBody info); // 请求体味RequestBody 类型
}
public class Info {
String account;
String password;
public Info(String account, String password) {
this.account = account;
this.password = password;
}
}
public class MainActivity extends AppCompatActivity {
public static String BASE_LOGIN_URL = "http://114.xx.xxx.xx:8088/";
Retrofit retrofit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Info info=new Info("test","123456");
/*** 利用Gson 将对象转json字符串*/
Gson gson=new Gson();
String obj=gson.toJson(info);
retrofit=new Retrofit.Builder().baseUrl(BASE_LOGIN_URL).build();
RequestBody body=RequestBody.create(okhttp3.MediaType.parse("application/json; charset=utf-8"),obj);
final APIStore login = retrofit.create(APIStore.class);
retrofit2.Call<ResponseBody> data = login.getMessage(body);
data.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(retrofit2.Call<ResponseBody> call, Response<ResponseBody> response) {
Log.d(TAG, "onResponse: --ok--"+response.body());
try {
Log.d(TAG, "onResponse: --ok--"+response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(retrofit2.Call<ResponseBody> call, Throwable t) {
Log.d(TAG, "onResponse: --err--"+t.toString());
} });
} }
3:添加get请求
apiStore加
@GET("vdyweb/ws/rest/device/getOwnerDevice/2/2/20")
Call<ResponseBody>getMessage2();
retrofit2.Call<ResponseBody>data1=login.getMessage2();
data1.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
Log.d(TAG, "onResponse: --ok--"+response.body().string());
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) { }
});
Retrofit进行post提交json数据的更多相关文章
- ngResource提交json数据如何带参数
ngResource提交json数据如何带参数 直接使用ngResource和REST服务接口交互可以让程序显得简洁,前提是配置好跨域和OPTIONS请求的支持,与此同时,如果需要带些额外的参数,有两 ...
- Jquery Ajax 提交json数据
在MVC控制器(这里是TestController)下有一个CreateOrder的Action方法 [HttpPost] public ActionResult CreateOrder(List&l ...
- Jquery-ajax()方法提交json数据
1.ajax()提交json数据代码 var strJson = getStrPayJson(); $.ajax({ type: "POST", url: "/userc ...
- ajax提交json数据到后端C#解析
本文链接:https://blog.csdn.net/qq_22103321/article/details/78015920 前端提交json数据 $.ajax({ type: "post ...
- 前端ajax用post方式提交json数据给后端时,网络报错 415
项目框架:spring+springmvc+mybatis 问题描述:前端ajax用post方式提交json数据给后端时,网络报错 415 前端异常信息:Failed to load resource ...
- 导出excel时,以form方式提交json数据
今天在写项目时写到一个excel的导出,开始想用ajax请求后台后导出,但发现ajax会有返回值,而且ajax无法直接输出文件,而后台的excel导出方法已经封装好,不方便修改. 就改用了提交的方式f ...
- jQuery提交Json数据到Webservice,并接收返回的Json数据
jQuery ajax webservice:get 和 post 一.GET 方式 客户端 复制代码 代码如下: var data = { classCode: "0001"}; ...
- 关于ajax 进行post提交 json数据到controller
首选需要参考的两个博客: www.cnblogs.com/Benjamin/archive/2013/09/11/3314576.html http://www.cnblogs.com/quanyon ...
- iOS通过ASIHTTPRequest提交JSON数据
先验知识——什么是ASIHTTPRequest? 使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且 ...
随机推荐
- JavaScript中Null和Undefined的区别
Null: null是js中的关键字,表示空值,null可以看作是object的一个特殊的值,如果一个object值为空,表示这个对象不是有效对象. Undefined: undefined不是js中 ...
- ADB 常用命令学习
参考文档:https://www.cnblogs.com/bravesnail/articles/5850335.html非常感谢作者的分享,以下是我学习的记录.Android 常用adb 命令汇总- ...
- Day6 函数和模块的使用
函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. $$x_1 + x_2 + x_3 + x_4 = 8$$ 事实上,上面的问题等同于将8个苹果分成 ...
- JavaScript for循环元素取下标问题
<ul> <li>fg</li> <li>gd</li> <li>gds</li> <li>ghe< ...
- 【深度学习框架】使用PyTorch进行数据处理
在深度学习中,数据的处理对于神经网络的训练来说十分重要,良好的数据(包括图像.文本.语音等)处理不仅可以加速模型的训练,同时也直接关系到模型的效果.本文以处理图像数据为例,记录一些使用PyTorc ...
- ubuntu 16.04 忘记登录密码的解决办法
1.开机点击ESC或长按Shift,进入GUN GRUB界面 2.选择有recovery mode的选项,按e进入命令行 3.找到有recovery nomodeset的行,删除recovery ...
- 浅谈 Mysql
数据库一些基本的概念 Mysql 基础操作 Mysql 数据类型 Mysql 表的完整性约束 Mysql 表的操作 Mysql 数据增删改查语句 Mysql 多表查询 Mysql 索引原理及分类 My ...
- 【ZOJ 4067】Books
[链接] 我是链接,点我呀:) [题意] [题解] 统计a中0的个数cnt0 然后m减去cnt0 因为这cnt0个0是一定会取到的. 如果m==0了 那么直接找到数组中的最小值mi 输出mi-1就好 ...
- jsonp 后台返回注意事项
前端代码 <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js"></script ...
- 元素类型为 "session-factory" 的内容必须匹配 "(property*,mapping*,(class-cach....解决方法
http://www.cnblogs.com/kisso143/p/3642057.html property必须写在mapping的上面.