ฉันได้พบกับสิ่งที่คุณและฉันพยายามที่จะขอให้ผู้เขียนหนังสือRetrofit: รักการทำงานกับ API บน Android (นี่คือลิงค์ ) (ไม่! ฉันไม่ได้ทำโฆษณาบางอย่างสำหรับพวกเขา .... แต่พวกเขาดีจริงๆ พวกคุณ :) และผู้เขียนตอบฉันเร็ว ๆ นี้ด้วยวิธีการบันทึกบน Retrofit 1.9 และ Retrofit 2.0-beta
และนี่คือรหัสของ Retrofit 2.0-beta:
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(Level.BODY);
OkHttpClient httpClient = new OkHttpClient();
// add your other interceptors …
// add logging as last interceptor
httpClient.interceptors().add(logging); // <-- this is the important line!
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient)
.build();
นี่คือวิธีการเพิ่มวิธีการเข้าสู่ระบบด้วยความช่วยเหลือของHttpLoggingInterceptor นอกจากนี้หากคุณเป็นผู้อ่านหนังสือที่ฉันกล่าวถึงข้างต้นคุณอาจพบว่ามันไม่มีวิธีบันทึกด้วย Retrofit 2.0 อีกต่อไป - ซึ่งฉันถามผู้แต่งไม่ถูกต้องและพวกเขาจะอัปเดตหนังสือในปีหน้า เกี่ยวกับมัน.
// ในกรณีที่คุณไม่คุ้นเคยกับวิธีการบันทึกในชุดติดตั้งเพิ่มเติมฉันต้องการแบ่งปันบางอย่างเพิ่มเติม
นอกจากนี้ควรสังเกตว่ามีระดับการบันทึกที่คุณสามารถเลือกได้ ฉันใช้ระดับร่างกายส่วนใหญ่ซึ่งจะให้สิ่งนี้:
คุณสามารถค้นหาเจ้าหน้าที่ http ทั้งหมดภายในรูปภาพ: ส่วนหัวเนื้อหาและการตอบกลับเป็นต้น
และบางครั้งคุณไม่ต้องการให้แขกทุกคนเข้าร่วมงานเลี้ยงของคุณ: ฉันแค่อยากรู้ว่ามันเชื่อมต่อสำเร็จหรือไม่นั้นการโทรทางอินเทอร์เน็ตได้ถูกสร้างขึ้นภายใน Activiy & Fragmetn ของฉัน จากนั้นคุณมีอิสระในการใช้Level.BASICซึ่งจะส่งคืนสิ่งนี้:
คุณสามารถค้นหารหัสสถานะ200 ตกลงภายในได้หรือไม่ อย่างนั้นแหละ :)
นอกจากนี้ยังมีอีกระดับหนึ่งคือHEADERSซึ่งจะส่งคืนส่วนหัวของเครือข่ายเท่านั้น คุณแน่นอนอีกภาพที่นี่:
นั่นคือทั้งหมดของเคล็ดลับการบันทึก;)
และผมอยากจะแบ่งปันให้คุณกับการกวดวิชาที่ผมได้เรียนรู้มากมี พวกเขามีโพสต์ที่ยอดเยี่ยมพูดคุยเกี่ยวกับเกือบทุกอย่างที่เกี่ยวข้องกับ Retrofit และพวกเขากำลังปรับปรุงโพสต์ต่อไปในเวลาเดียวกัน Retrofit 2.0 กำลังมา โปรดดูงานเหล่านั้นซึ่งฉันคิดว่าจะช่วยคุณประหยัดเวลาได้มาก