1. 程式人生 > >JAVA HTTP POST引數為一個物件或陣列

JAVA HTTP POST引數為一個物件或陣列

a

問題描述

最近接到一個很簡單的問題,對方提供了一個介面,讓我每隔一段時間像他的介面推送一些資料,因為資料量比較大,所以這種Http 請求型別肯定是Post請求。這種推送過去的引數是一個很大的陣列,而且資料欄位比較多,所以用key=value 這種形式傳過去就不太適合了,應該直接將這種陣列加入Http的body體中,一次性傳過去,接收放也不需要一個一個欄位解析,全部取出body體中資料,再解析就可以了。
假設傳遞引數為

1234567891011[{"name":"趙雲","age":"20"},{"name":"馬超","age":"30"}]

服務端實現

新建一個serlvet3.0 處理Post 請求

12345678910111213141516171819202122232425@WebServlet("/hello")publicclassHelloextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;protectedvoiddoGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{request.setCharacterEncoding("UTF-8");BufferedReader br=newBufferedReader(newInputStreamReader
(request.getInputStream(),"UTF-8"));Stringline="";Stringres="";while(null!=(line=br.readLine())){res+=line;}

相關推薦

JAVA HTTP POST引數一個物件陣列

問題描述最近接到一個很簡單的問題,對方提供了一個介面,讓我每隔一段時間像他的介面推送一些資料,因為資料量比較大,所以這種Http 請求型別肯定是Post請求。這種推送過去的引數是一個很大的陣列,而且資料欄位比較多,所以用key=value 這種形式傳過去就不太適合了,應該直接

vue watch一個物件陣列時,newvalue和oldvalue一樣

在官方的程式碼改寫了一下,當深度watch一個物件時,newval和oldval的值為什麼是相等的呢? var vm = new Vue({ data: { a: 1, c:{ c1:1, c2:2 }

通過@ModelAttribute註解封裝客戶端提交表單引數一個業務物件

業務物件: public class Student { String studentName; String studentHobby; public String getStudentName() { return stude

java中,只宣告一個物件不賦值,與宣告一個物件並賦null,有啥區別?

轉自:http://www.oschina.net/question/557858_127408 http://zhidao.baidu.com/link?url=rp_hAuPys2vMPnir0t7IFccKVnwEm8zHI7-wEoBSJXw05SAmKHGOObT

L1-040. 最佳情侶身高差【附C++如何保留幾位小數,可設定一個物件多個物件生效】

專家通過多組情侶研究資料發現,最佳的情侶身高差遵循著一個公式:(女方的身高)×1.09=(男方的身高)。如果符合,你倆的身高差不管是牽手、擁抱、接吻,都是最和諧的差度。下面就請你寫個程式,為任意一位使用者計算他/她的情侶的最佳身高。輸入格式:輸入第一行給出正整數N(<=

java程序中如何一個while(true)循環計時,超過一定時間比如10個小時就退出循環?

blog true public color sys ava work log 如何 public void execute(int hour){ long t1 = System.currentTimeMillis(); while

java判斷字串是否正負整數浮點數

package org.fiend.basetest; import org.apache.commons.lang3.StringUtils; import java.util.regex.Pattern; /** * 判斷字串是否為正負整數或浮點數 * @author Adminis

4. 陣列int[] intArr = new int[]{5,9,3,7,2,6},寫出一個函式可根據傳參(引數需要獲取的陣列型別:1:正序排序陣列;2:倒序排序陣列;)來進行排序,返回值int

4. 陣列int[] intArr = new int[]{5,9,3,7,2,6},寫出一個函式可根據傳參(引數為需要獲取的陣列型別:1:正序排序陣列;2:倒序排序陣列;)來進行排序,返回值為int陣

python 判斷引數Nonetype型別

Nonetype和空值是不一致的,可以理解為Nonetype為不存在這個引數,空值表示引數存在,但是值為空 判斷方式如下: if hostip is None: print "no ho

java虛擬機器JVM中一個物件在堆中的生命週期

首先,我們都知道java中的物件都是存放在堆記憶體中的。jvm中對堆進行了劃分,也就是年輕代和老年代。 為啥要分代呢? 那麼首先看這兩個區域的區別,最大的就是回收演算法不同,年輕代對應的垃圾回收器是:Minor GC,它主要是基於複製演算法(從from區複製到to區)。 老年代則是Major

如何一個物件賦預設值

背景:在寫手機介面的時候,由於傳遞的某些不重要的欄位為null,所以導致手機客戶端沒有判斷我空的時候會出現閃退,需要對所有返回的字串型別的資料進行初始化預設值; 思路:主要使用c#實現的,但是我覺得對Java也是一樣適用的。在一個基類中的建構函式進行反射,獲取繼承的子類

java中ajax使用--傳回一個物件

1、struts.xml配置 <!-- 查詢人員資訊 --> <action name="validateDealper" class="sealBusinessA

關於js向後臺傳json型別的多個物件 及後臺java接收並取出每一個物件中的值

<!-- 構建物件陣列--> var allTerminal = []; $(function(){ <!--繫結事件--> $('.addBtn').click(function(){

c++ map中key物件結構體

C++實際開發的過程會經常使用到map。map是一個key-value值對,key 唯一,可以用find進行快速的查詢。其時間複雜度為O(logN),如果採用for迴圈進行遍歷資料時間複雜度為O(N)。如果map中的資料量比較少 時,採用find和for迴圈遍歷的效率基本沒有太大的區別,但是在實際的開發過程

java 中xml轉換json物件

1、前提需要jar包: json-lib-2.4-jdk15.jar 和 xom-1.2.5.jar ,maven 倉庫: net.sf.json-lib json-lib

idea部分整體java檔案不編譯class檔案 編譯後不是最新的

PS:2018-03-08 10:11更新 修改編譯的路徑 原路徑為WebRoot,修改為WebRoot/classes,否則會出現include會找不到jsp等問題 1.出現這個問題先檢查一下輸出路徑 idea的class

將ajax請求封裝一個物件(原生js)

var AjaxUtil = { // 預設基礎選項 options : { method : "get", //預設提交的方法 url : "", //請求的路徑 required params : {}, //請求的引數 type : 'text',

判斷物件陣列

1、Array.isArray()    判斷陣列時--首推 var a = []; Array.isArray(a); // true var a ={}; Array.isArray(a); // false 2、constructor屬性   

獲取所有checkbox選中的資料,前端傳一個物件陣列到後端進行接收。

在table表中,我們經常會選中多條記錄,獲取他們的資料,進行操作。 程式碼如下: 獲取選中行中的資料 1)獲取選中行的長度,進行判斷。  var len = $("input[name=boxs]:checked").length; 2) 獲取選中的行,通過

JS儲存物件陣列(資料引用)修改前和修改後的資料

在 JS 中有一些基本型別像是Number、String、Boolean,而物件就是像這樣的東西{ name: ‘Larry’, skill: ‘Node.js’ },物件跟基本型別最大的不同就在於他們的傳值方式。 基本型別是按值傳遞,像是這樣:在修改a時並不會改到b