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进行了封装,并且 ...
随机推荐
- 01 DOS常用命令
有时候没有可视化窗口,命令行对文件进行操作更方便快捷 cmd 命令弹出 dir 查看当前所在目录下的文件 ctrl+c 退出 \a 显示隐藏文件 cd /改变到根目录 dir /a 显示隐藏文件 di ...
- Java 将要上传的文件上传至指定路径代码实现
代码: /** * 上传文件到指定路径 * @param mFile 要上传的文件 * @param path 指定路径 */ public static void uploadFile(Multip ...
- https证书安装无效的主要原因
https证书的作用是为了确认服务端身份,但网络上充满了无效的证书,浏览器对使用无效证书的访问,给出危险.不安全警告,将是否选择继续访问由用户选择,而大多数用户是无法区分这是配置还是真的存在安全问题. ...
- 在vue中写一个跟着鼠标跑的div,div里面动态显示数据
1.div应该放在body里面,这是我放在body中的一个div里面的div <!-- 信息查看层 --> <div class="floatDiv" :styl ...
- openldap+openssh+jumpserver实现跳板机监控系统
首先感谢 http://www.jumpserver.org/ 提供的优秀跳板机系统. 我们把跳板机系统经过二次开发主要是 弃用角色功能使用ldap自动登录. 添加登录后临时认证. 上传下载我们自己在 ...
- 1.Eclipse创建普通java工程
1.创建java工程 2.输入java 工程名 3.编写类
- 00063_String类
1.String类的概述 (1)String 类代表字符串: (2)Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现: (3)字符串是常量,它们的值在创建 ...
- Spring Cloud-Zuul(十)
个人理解 在微服务体系体系中 我们会有很多服务.在内部体系中 通过eureka实现服务的自动发现通过ribbon实现服务的调用.但是如果对外部体系提供接口 我们就会涉及到接口的安全性,我们不能可能对每 ...
- Spring Boot-整合redis(六)
redis安装 参考:https://www.cnblogs.com/LQBlog/p/9214517.html 单机版 1.添加pom依赖 <!-- Spring Boot Reids 依赖 ...
- 0918如何利用jmeter为数据库插入测试数据
第一 制定测试计划,关于JMETER会通过驱动取操作数据库,因而请在底部路径填写正确. 下载该资源http://download.csdn.net/download/fnngj/3451945 第二步 ...