রেকর্ড-ভিত্তিক এরর রেসপন্স (Record-based Error Responses)
সংক্ষিপ্ত, ইমিউটেবল এরর রেসপন্স টাইপের জন্য রেকর্ড ব্যবহার করুন।
কোড তুলনা
✕ Java 8
// Verbose error class
public class ErrorResponse {
private final int code;
private final String message;
// constructor, getters, equals,
// hashCode, toString...
}
✓ Java 16+
public record ApiError(
int code,
String message,
Instant timestamp
) {
public ApiError(int code, String msg) {
this(code, msg, Instant.now());
}
}
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
সুসংক্ষিপ্ত
৩০ লাইনের পরিবর্তে ৩ লাইনেই এরর টাইপ ডিফাইন করুন।
ইমিউটেবল (Immutable)
এরর ডেটা তৈরির পর ভুলবশত পরিবর্তন করা যাবে না।
অটো toString
লগিংয়ের জন্য উপযুক্ত – স্বয়ংক্রিয়ভাবে সব ফিল্ড দেখায়।
পুরনো পদ্ধতি
ম্যাপ (Map) বা ভার্বোস ক্লাস
আধুনিক পদ্ধতি
এরর রেকর্ডস (Error Records)
JDK থেকে
16
কঠিনতা
মধ্যম
JDK সমর্থন
রেকর্ড-ভিত্তিক এরর রেসপন্স (Record-based Error Responses)
উপলব্ধ
JDK 16 (মার্চ 2021) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
রেকর্ডগুলো এরর রেসপন্সের জন্য একদম পারফেক্ট – এগুলো ইমিউটেবল, তুলনা করার জন্য বিল্ট-ইন equals/hashCode থাকে এবং লগিংয়ের জন্য toString মেথড থাকে। কাস্টম কনস্ট্রাক্টরগুলো (custom constructors) ভ্যালিডেশন বা ডিফল্ট যোগ করতে পারে।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ