使用Retrofit发送POST请求提交JSON数据
Retrofit官网:https://square.github.io/retrofit/
示例如下
HttpService.java
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Headers;
import retrofit2.http.POST; public interface HttpService {
String BASE_URL = "http://47.99.62.153:7076/";
@Headers("Content-Type: application/json")
@POST("xinyan/resultCallBack")
Call<ResultCallbackReply> getResultCallback(@Body RequestBody body);
}
Entry.java
import okhttp3.MediaType;
import okhttp3.RequestBody;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory; import java.util.logging.Level;
import java.util.logging.Logger; public class Entry {
private static final Logger LOGGER = Logger.getLogger(Entry.class.getName()); public static void main(String[] args) {
HttpService service = new Retrofit.Builder().baseUrl(HttpService.BASE_URL).addConverterFactory(GsonConverterFactory.create()).build().create(HttpService.class);
String body = "{\"token\": \"This is a token!\"}";
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), body);
service.getResultCallback(requestBody).enqueue(new Callback<ResultCallbackReply>() {
@Override
public void onResponse(Call<ResultCallbackReply> call, Response<ResultCallbackReply> response) {
ResultCallbackReply reply = response.body();
LOGGER.log(Level.INFO, reply.getMsg());
} @Override
public void onFailure(Call<ResultCallbackReply> call, Throwable t) {
LOGGER.log(Level.SEVERE, null, t);
}
});
}
}
build.gradle
dependencies {
...
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
}
使用@Headers("Content-Type: application/json")设置Content-Type为application/json
RequestBody指示了请求体,RequestBody.create(MediaType contentType, String content)创建RequestBody对象
使用Retrofit发送POST请求提交JSON数据的更多相关文章
- Android Studio利用异步任务AsyncTask发送post请求获取json数据
syncTask,是Android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主 ...
- PHP/Post 提交请求获取json数据,并转化为所需要的数组
/** * Post 提交请求获取json数据,并转化为所需要的数组 */ function request_post($url = '', $param = '') { if (empty($url ...
- 前端ajax用post方式提交json数据给后端时,网络报错 415
项目框架:spring+springmvc+mybatis 问题描述:前端ajax用post方式提交json数据给后端时,网络报错 415 前端异常信息:Failed to load resource ...
- ngResource提交json数据如何带参数
ngResource提交json数据如何带参数 直接使用ngResource和REST服务接口交互可以让程序显得简洁,前提是配置好跨域和OPTIONS请求的支持,与此同时,如果需要带些额外的参数,有两 ...
- Jquery Ajax 提交json数据
在MVC控制器(这里是TestController)下有一个CreateOrder的Action方法 [HttpPost] public ActionResult CreateOrder(List&l ...
- ajax提交json数据到后端C#解析
本文链接:https://blog.csdn.net/qq_22103321/article/details/78015920 前端提交json数据 $.ajax({ type: "post ...
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
作者:ssslinppp 时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...
- Jquery-ajax()方法提交json数据
1.ajax()提交json数据代码 var strJson = getStrPayJson(); $.ajax({ type: "POST", url: "/userc ...
随机推荐
- ORACLE中SID和SERVICE_NAME的区别
先来讲一个小故事,2015年6月份,有个客户迁移了数据库,由单实例数据库变成了RAC.JAVA应用程序出现了无法连接数据库的情况,但是PL/SQL能连接上数据库.由于项目比较庞大,虽然在半夜切换的 ...
- 第一次用THINKPHP 报路径错
我第一次 看网上写的代码 define('THINK_PATH','ThinkPHP');define('App_NAME','43');define('App_PATH','.'); require ...
- mac安装apache的mod_wsgi模块
第一次用pip安装 ,最终不能使用,原因是系统自带的apache,python和新安装的冲突, 所以需要安装时需要指定apache,python路径 所以用make makeinstall方式 参考链 ...
- GLSL逐顶点光照[转]
转载:http://blog.csdn.net/hgl868/article/details/7872350 引言 在OpenGL中有三种类型的光:方向光(directional).点光(point) ...
- angular js 使用$location问题整理
angular js 自带的$location方法十分强大,通过使用$location方法.我们能够获取到server的port.杂乱连接中的path()部分(/所包括的部分). 例: // give ...
- TensorFlow笔记六:基于cifar10数据库的AlexNet识别
准确率只有70%,cpu版本的TF居然跑了两天才跑完,其他方法将继续尝试. 生成数据目录: import numpy as np import os train_label = {} for i in ...
- angular - 启用form组件
1.导入form组件 2.导出form组件 3.使用form组件
- es6 - 导入导出
今天用node纠结了半天,明明是正确的语法,一直报错,原来node和chrome并不支持es6语法.... 1. npm install package.json { "name" ...
- jquery:给正则表达式添加变量
http://www.2cto.com/kf/201402/277766.html 正则表达式普通用法:var checkString=/^.*\S+.*$/; //注意正则表达式没有引号 chec ...
- EMMC电路设计
优秀文档: eMMC基础技术1:MMC简介 eMMC基础技术2:eMMC概述 一:供电电源时序 EMMC的供电有两种模式,且分两路工作,有VCC和VccQ.在规范上,上电时序是有要求的,如下图所示. ...