Bài 6. Xử Lý Ngoại Lệ Trong Spring Boot

Tây Java - Lập Trình Java Từ A~Z
Website: tayjava.vn
Thông tin LH: quoctay87@gmail.com
⇒ Xem Source Code: tayjava.vn/xu-ly-ngoai-le-tro...
#tayjava, #javaspringboot, #springboot3, #springboottiengviet, #apibackend

Пікірлер: 36

  • @olethanhtuan5951
    @olethanhtuan5951Ай бұрын

    Hay quá anh. Anh chuyên về backend java hay sao vậy a? Thấy mấy bài đúng mấy cái kiến thức hay

  • @tayjava

    @tayjava

    Ай бұрын

    Đúng rồi em, A chuyên làm backend các hệ thống siêu to khổng lồ, bảo mật cao. Hy vọng nó hữu ích với em

  • @hunghong9632
    @hunghong9632Ай бұрын

    Học xong playlist của sư phụ có thể đi xin việc rồi

  • @tayjava

    @tayjava

    Ай бұрын

    Nắm vững lý thuyết vào ko toang đấy e

  • @lvthuong7759
    @lvthuong7759Ай бұрын

    Chia sẻ nếu các bạn thấy thắc mắc về sao anh ý viết interface cho service. A ý đang tuân thủ về DI. ( Phụ thuộc đảo). 1. Nếu bạn viết 1 class UserService và inject vào controller, thì về sau bạn muốn đổi thằng userService này thì bạn sẽ phải vào controller để thay đổi => Đối với cách trên thì bạn chỉ cần impl lại các method mà interface nó nêu ra là xong. => Như thế dễ maintain. Ngoài ra còn ưu điểm gì nữa không thì mong a chia sẻ ạ.

  • @tayjava

    @tayjava

    Ай бұрын

    Đảm bảo tuân thủ design pattern của spring boot, và đảm bảo tính inheritance và encapsulation của java e nhé

  • @oucanh1792
    @oucanh1792Ай бұрын

    Dạ cho em hỏi là mình ném ra exception ở tầng service và handle ở tầng controller là chỉ là ví dụ a làm trong video này thôi hay đó là best pratices và nên áp dụng luôn ạ. Em cảm ơn ạ

  • @tayjava

    @tayjava

    Ай бұрын

    Best practice nhé e!

  • @oucanh1792

    @oucanh1792

    Ай бұрын

    @@tayjava Dạ em cảm ơn anh ạ

  • @nvtmjfan
    @nvtmjfanАй бұрын

    Theo mình khi đã tách method thì nên để tham số là class detail luôn để đỡ fai dùng instanceof, và vẫn cần log detail lỗi để dev backend biết chính xác lỗi ở line nào.

  • @tayjava

    @tayjava

    Ай бұрын

    Ý bác là chỉ luôn cái DTO hay Controller nào lỗi đúng ko nhỉ ? E hiểu đúng ý bác chứ !

  • @nvtmjfan

    @nvtmjfan

    Ай бұрын

    @@tayjava ko ý tôi là handle...(MethodException e, ...) chứ ko phải Exception e, ở GlobalExceptionHandler ý

  • @tayjava

    @tayjava

    Ай бұрын

    E hiểu ý bác rồi nhé !

  • @hatiendungk15hl83
    @hatiendungk15hl8323 күн бұрын

    Anh cho em xin hình ảnh sơ đồ của Exception đc k ạ! Em xin cảm ơn !

  • @tayjava

    @tayjava

    23 күн бұрын

    Cho a email e ơi a gửi cho

  • @lvthuong7759
    @lvthuong7759Ай бұрын

    Anh đang làm ở cty nào thế a ?

  • @tayjava

    @tayjava

    Ай бұрын

    Cảm ơn e đã quan tâm! Haha..

  • @codekhongngu

    @codekhongngu

    22 күн бұрын

    Công ty làm việc thì ai tiết lộ bao giờ bạn, hỏi câu tế nhị vậy

  • @thienpham3187
    @thienpham3187Ай бұрын

    anh có thể cho em xin file tổng hợp các exception được không ạ

  • @tayjava

    @tayjava

    Ай бұрын

    Để trong source code ấy e, phần mô tả video nhé

  • @thienpham3187

    @thienpham3187

    Ай бұрын

    @@tayjava em tìm file vẽ lý thuyết á anh

  • @tayjava

    @tayjava

    Ай бұрын

    Để lại email a gửi cho nha

  • @naisi1387
    @naisi1387Ай бұрын

    Không có đoạn bắt lỗi ở phần enum anh nhỉ

  • @tayjava

    @tayjava

    Ай бұрын

    Có chứ, e xem trong file GlobalExceptioHandler ấy

  • @naisi1387

    @naisi1387

    Ай бұрын

    @@tayjava case em cảm ơn anh, nhưng mà case 1,2 không có anh ạ, case 3 trả về string thì mới có. Với cho em hỏi anh cứ implement Serializable làm gì vậy em bỏ mà nó vẫn chạy bình thường

  • @tayjava

    @tayjava

    Ай бұрын

    @@naisi1387 trong series này a có giải thích ở mấy bài rồi mà! DTO là Data Transfer Object, mỗi DTO là mô tả của 1 json data, json này truyền đi trên môi trường internet nên nó phải chuyển thành byte nhị phân mới truyền đi đc nên cần Serializable và convert từ byte thành json thì gọi là deserializable. Nôm na là thế! E đọc thêm trên mạng nhé, chát hơi mỏi tay e ạ

  • @nvtmjfan
    @nvtmjfanАй бұрын

    Mình từng thấy cách xử lý lấy message error hay hơn cắt chuỗi

  • @tayjava

    @tayjava

    Ай бұрын

    Nếu được bác share cho e với để e thử, e cũng ko thấy cách ấy hay nhưng nó dẽ làm bác ợ

  • @nvtmjfan

    @nvtmjfan

    Ай бұрын

    @@tayjava bạn cho xin file ở postman được không để tôi test và viết lại cho

  • @nvtmjfan

    @nvtmjfan

    Ай бұрын

    @@tayjava if (e instanceof MethodArgumentNotValidException) { /* int start = message.lastIndexOf("[") + 1; int end = message.lastIndexOf("]") - 1; message = message.substring(start, end); */ var ret = ((MethodArgumentNotValidException) e).getBindingResult().getFieldError().getDefaultMessage(); errorResponse.setError("Invalid Payload"); errorResponse.setMessage(ret); // đây nhé thầy giáo

  • @tayjava

    @tayjava

    Ай бұрын

    @@nvtmjfan Bác cho nhà em xin cái email nhé ! Với cả source code em để phần mô tả video nha bác, Bác cứ chạy docker là có database bác nha

  • @nvtmjfan

    @nvtmjfan

    Ай бұрын

    @@tayjava code đây nha: if (e instanceof MethodArgumentNotValidException) { /* int start = message.lastIndexOf("[") + 1; int end = message.lastIndexOf("]") - 1; message = message.substring(start, end); */ var ret = ((MethodArgumentNotValidException) e).getBindingResult().getFieldError().getDefaultMessage(); errorResponse.setError("Invalid Payload"); errorResponse.setMessage(ret);