第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

SpringBoot 小白--3(統(tǒng)一異常處理)

標(biāo)簽:
SpringBoot

1. 统一异常处理配置

package com.yangxz.response;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 统一异常处理
 */
@ControllerAdvice
public class GlobalExceptionHandlerAdvice {

    Logger logger = LoggerFactory.getLogger(GlobalExceptionHandlerAdvice.class);

    @ExceptionHandler(value = Exception.class)
    @ResponseBody
    public R exceptionHandler(HttpServletRequest request, HttpServletResponse response, Exception exception) {
        logger.info("异常类型:" + exception.getClass().getSimpleName());

        String msg = "出错了。。。";
        String data = null;

        /*根据异常类型,设置不同的数据*/
        if (exception instanceof DuplicateKeyException) {
            data = "字段冲突";
//            response.setStatus(404);
        }

        return R.error().message(msg).data(data);

    }

}


2. userController添加用户新增接口

package com.yangxz.controller;


import com.yangxz.dto.UserDTO;
import com.yangxz.entity.User;
import com.yangxz.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author yangxz
 * @since 2022-06-30
 */
@Api(tags = "用户管理")
@RestController
@RequestMapping("/user")
public class UserController {

    @Resource
    private UserService userService;

    @ApiOperation("用户列表")
    @GetMapping("/list")
    public List<User> list() {
        return userService.list();
    }

    @ApiOperation("用户新增")
    @PostMapping("/add")
    public String add(@RequestBody UserDTO.AddDTO dto) {
        User user = new User();
        user.setUsername(dto.getUsername());
        user.setPassword(dto.getPassword());
        return userService.save(user) ? "新增成功" : "新增失败";
    }

}


3. 新增用户新增请求体

package com.yangxz.dto;

import lombok.Data;

@Data
public class UserDTO {

    @Data
    public static class AddDTO{
        private String username;
        private String password;
    }

}


4. 测试用户新增接口

user表中对username设置了唯一索引,插入相同的数据就会报错,数据库中已经有一条admin的记录

https://img2.sycdn.imooc.com/62bd3e480001695c18821048.jpg

https://img4.sycdn.imooc.com/62bd3e6500015bd519200969.jpg

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消