我是小康小白,一個平平無奇的Java小白。熱愛有趣的文字,生活和遠方。
目錄:
postman是用來幹什麼的?
如何下載?
如何使用postman測試接口
對於前後端對接小白也寫了一篇博文:前後端(Java)對接的完整過程(小白第一次進行前後段對接,記錄一下。希望對你有幫助)
postman是用來幹什麼的?
當我們寫完了自己的接口時,無法確定自己的接口是否正確就去與前端的兄弟們對接會引來很多不必要的麻煩。
而postman就是用來解決這個問題---測試接口(測試我們後端Servelt中寫出來的url地址的返回結果是否正
確)。
如何下載?
postman的官方網址
- 進入官網後點擊右上角的download。
- 繼續download。
- 根據自己的操作系統選擇相應的版本。
- 選擇相應的下載位置。我推薦桌面安裝時比較方便。(此時下載的安裝包,沒必要在意下載的位置。安裝完刪除即可)
4. 然後打開安裝包。由於小白已經安裝過了,不能再次安裝。所以安裝的過程小白就不多做解釋了,和咱們下載一個qq,微信差不多。安裝位置推薦換成除C盤以外的其它盤。這是個好習慣。不過軟件不大,安裝在C盤也無傷大雅。對了,下載完成後就可以把安裝包刪除了。
兄弟們提起你們的精神,最重要的部分來了
如何使用postman測試接口
考慮到你可能和當時的小白不知道項目的url地址怎麼寫,於是補充來了:項目的url地址是什麼?
強調一點:在使用postman測試接口時一定要先將你的idea運行,不然發送請求後只有404。(第一次使用時,很容易犯這個錯誤)。
上圖是postman大致的位置的解釋。
使用postman測試接口常用的大致分爲兩種
- 通過參數的形式向後端傳的值後然後在postman測試
Servlet代碼
下面的代碼的功能是獲取postman向後端傳的兩個參數(“id”和“username”)。然後使用獲得的這兩個參數的
值輸出對應的數據。至於對獲得的參數的具體的操作,這個因需求不同而不同,小白在這裏就不粘出自己相應
的代碼了。
import com.dao.JdbcController;
import com.dao.QueryOutput;
import com.util.Json.ChangeJson;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Servlet類
* @author 10593
*/
@WebServlet("/Servlet2")
public class Servlet2 extends HttpServlet {
/**
* doPost方法:
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 響應參數格式設置
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
//向外傳值,並將數據轉化爲json格式保存在一個字符串對象裏
JdbcController jdbcController = new JdbcController();
ChangeJson changeJson = new ChangeJson();
//將此字符串對象輸出
PrintWriter out=response.getWriter();
String str1 = request.getParameter("id");
String str2 = request.getParameter("p_headline");
if (str1 != null || str2 != null) {
//將獲得String類型的變量轉化爲int類型
int str3 = Integer.parseInt(str1);
QueryOutput queryOutput = new QueryOutput();
String str4 = changeJson.ChangeJson(queryOutput.QueryOutput(str3, str2));
out.println(str4);
out.flush();
out.close();
} else {
out.println("您未傳入參數");
out.flush();
out.close();
}
}
/**
* doGet方法:
* 轉到doPost方法。
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//當調用get方式請求時,會自動轉爲調用dopost方法
doPost(request,response);
}
}
然後使用postman來測試這個接口。
1)在對應的位置輸入你要傳入的參數和值,還有URL地址以及你的請求方式
注意此時是未將參數勾選的url地址項目的url地址是什麼?
此時是將參數勾選的url地址
2)點擊send就可以傳出相應的參數值
好了兄弟們下一種(也是實戰中最常用的一種來了)
- 通過流的形式向後端傳值然後在postman測試。
Servlet的代碼
注:由於本篇博文只是爲了講解postman的使用方法。所以Servlet源碼中並未對從請求流中獲得的json數據進行轉化和操作,相關方面的使用和操作詳見我的另一篇博文:Java如何處理前端傳來的json格式的數據並將它轉化爲相應的對象,然後進行使用
@WebServlet("/Servlet")
public class Servlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 響應參數格式設置
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
//將此字符串對象輸出
PrintWriter out=response.getWriter();
//使用InputStreamReader對象,獲取前端傳來的數據.其中
// request.getInputStream()是讀取前端傳遞來的數據字節流,
// StandardCharsets.UTF_8是將前端傳來的數據轉化爲UTF-8的編碼方式
InputStreamReader insr = new InputStreamReader(request.getInputStream(), StandardCharsets.UTF_8);
StringBuilder body = new StringBuilder();
int respInt = insr.read();
while(respInt!=-1) { // 讀取請求數據
//將讀取的字節流中的每一個字節轉化爲字符,然後添加到StringBuilder類型的對象中
body.append((char) respInt);
respInt = insr.read();
}
//out的print方法可以輸出對象
out.print(body.toString);
}
body中的raw
然後使用postman來測試
1)首先填寫你的url地址項目的url地址是什麼?和你的請求方式
2)postman測試的時候,先寫你的請求頭
請求頭一共有四種格式:
咱們用第三種
詳細介紹:
postman中在下圖所示的Headers中填寫對應的數值
3)向body中添加json格式的數據(他將會以請求流的方式傳送給後端)
4)運行idea,然後send,然後就可以獲得數據了
項目的url地址是什麼?
一般爲http://localhost:8080/你的在tomcat中的項目路徑/你的Servlet路徑。
-
你的項目路徑
-
你的Servlet路徑
這裏分兩種情況:
1)如果你是使用的下面這種部署Serlvet的方式,那麼你的Servelt路徑就是雙引號中的內容。@WebServlet("/Servlet2")
2)如果你使用的web.xml的部署方式,那麼你的Servlet路徑就是下圖所示的位置。
對於前後端對接小白也寫了一篇博文:前後端(Java)對接的完整過程(小白第一次進行前後段對接,記錄一下。希望對你有幫助)