ชุดติดตั้งเพิ่ม 2.0 :
UPDATE: @ โดย Marcus Pöhls
การเข้าสู่ระบบชุดติดตั้งเพิ่มเติม 2
Retrofit 2 ใช้ OkHttp สำหรับการทำงานของเครือข่ายใด ๆ เนื่องจาก OkHttp เป็นการพึ่งพาแบบเพียร์ของ Retrofit 2 คุณจึงไม่จำเป็นต้องเพิ่มการพึ่งพาเพิ่มเติมเมื่อ Retrofit 2 ถูกปล่อยออกมาเป็นรุ่นที่เสถียร
OkHttp 2.6.0 มาพร้อมกับเครื่องสกัดกั้นการบันทึกเป็นการพึ่งพาภายในและคุณสามารถใช้กับไคลเอ็นต์ Retrofit ของคุณได้โดยตรง Retrofit 2.0.0-beta2 ยังคงใช้ OkHttp 2.5.0 การเปิดตัวในอนาคตจะส่งผลต่อการอ้างอิงไปยังเวอร์ชัน OkHttp ที่สูงขึ้น นั่นเป็นเหตุผลที่คุณต้องนำเข้าเครื่องสกัดกั้นการบันทึกด้วยตนเอง เพิ่มบรรทัดต่อไปนี้ในการนำเข้า gradle ของคุณภายในไฟล์ build.gradle ของคุณเพื่อดึงการพึ่งพาตัวสกัดกั้นการบันทึก
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
คุณยังสามารถไปที่หน้า GitHub ของ Square เกี่ยวกับตัวสกัดกั้นนี้
เพิ่มการบันทึกลงในชุดติดตั้งเพิ่ม 2
ในขณะที่พัฒนาแอปของคุณและเพื่อวัตถุประสงค์ในการดีบักเป็นเรื่องดีที่มีคุณลักษณะบันทึกที่รวมเข้าด้วยกันเพื่อแสดงข้อมูลคำขอและการตอบกลับ เนื่องจากการบันทึกไม่ได้รวมเข้ากับค่าเริ่มต้นอีกต่อไปในชุดติดตั้งเพิ่ม 2 เราจึงจำเป็นต้องเพิ่มตัวสกัดกั้นการบันทึกสำหรับ OkHttp โชคดีที่ OkHttp มาพร้อมกับเครื่องสกัดกั้นนี้แล้วและคุณจะต้องเปิดใช้งานสำหรับ OkHttpClient ของคุณเท่านั้น
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
// set your desired log level
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
// add your other interceptors …
// add logging as last interceptor
httpClient.addInterceptor(logging); // <-- this is the important line!
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(httpClient.build())
.build();
เราขอแนะนำให้เพิ่มการบันทึกเป็นตัวสกัดกั้นสุดท้ายเนื่องจากจะบันทึกข้อมูลที่คุณเพิ่มไว้กับตัวดักจับก่อนหน้าในคำขอของคุณด้วย
ระดับการบันทึก
การบันทึกข้อมูลมากเกินไปจะทำให้หน้าจอ Android ของคุณระเบิดนั่นคือสาเหตุที่เครื่องดักฟังการบันทึกของ OkHttp มีระดับการบันทึกสี่ระดับ: ไม่มี, พื้นฐาน, ส่วนหัว, ร่างกาย เราจะแนะนำคุณเกี่ยวกับระดับการบันทึกแต่ละระดับและอธิบายผลลัพธ์
ข้อมูลเพิ่มเติมกรุณาเยี่ยมชม: ชุดติดตั้งเพิ่ม 2 - คำขอบันทึกและการตอบกลับ
คำตอบเก่า:
ไม่มีการเข้าสู่ระบบ Retrofit 2 อีกต่อไป ทีมพัฒนาได้ลบคุณลักษณะการบันทึก ตามจริงแล้วคุณสมบัติการบันทึกก็ไม่น่าเชื่อถืออยู่ดี Jake Wharton ระบุอย่างชัดเจนว่าข้อความหรือวัตถุที่บันทึกไว้เป็นค่าที่สันนิษฐานและไม่สามารถพิสูจน์ได้ว่าเป็นจริง คำขอจริงที่มาถึงเซิร์ฟเวอร์อาจมีเนื้อหาคำขอที่เปลี่ยนแปลงหรืออย่างอื่น
แม้ว่าจะไม่มีการบันทึกแบบรวมตามค่าเริ่มต้น แต่คุณสามารถใช้ประโยชน์จาก Java logger ใด ๆ และใช้ภายในตัวสกัดกั้น OkHttp ที่กำหนดเองได้
ข้อมูลเพิ่มเติมเกี่ยวกับ Retrofit 2 โปรดดู:
ชุดติดตั้งเพิ่ม - เริ่มต้นใช้งานและสร้างไคลเอนต์ Android
FULL
ควรจะให้ร่างกาย แต่ดูเหมือนจะไม่