SpringCloud自带ResponseEntity和HttpStatus,不需要在common中定义

package com.leyou.controller;

import com.leyou.pojo.Category;
import com.leyou.service.CategoryService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;

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

@RestController
@CrossOrigin
@RequestMapping("/category")
public class CategoryController {
    
    
    @Resource
    private CategoryService categoryService;

    @GetMapping("list")
    public ResponseEntity <List<Category>> queryAllCategoryByPid(@RequestParam(name = "pid",defaultValue = "0") Long pid){
    
    
     //判断如果pid=null 或者 <0

//        BAD_REQUEST 400
     if(pid==null || pid<0){
    
    
       return ResponseEntity.status(HttpStatus.BAD_REQUEST).build();

     }
        List<Category> categories = categoryService.queryAllCategoryByPid(pid);

//     判断categories是否为空   NOT_FOUND 404
     if(CollectionUtils.isEmpty(categories)){
    
    

         return ResponseEntity.status(HttpStatus.NOT_FOUND).build();


     }

//成功返回 200  并且携带数据到响应体
        return ResponseEntity.ok(categories);


    }

//    根据品牌id查询分类
    @GetMapping("bid/{bid}")
    public ResponseEntity<List<Category>> queryCategoryByBId(@PathVariable("bid") Long bid){
    
    


        List<Category> categories = categoryService.queryAllCategoryByPid(bid);
        if (categories==null){
    
    
            return ResponseEntity.status(HttpStatus.NOT_FOUND).build();

        }

        return ResponseEntity.ok(categories);


    }
}

  1. 可以看出ResponseEntity是自带的
  2. **ResponseEntity.status(HttpStatus.NOT_FOUND).build();**里面有标准的状态码,404,400,200
  3. ResponseEntity.ok(categories);可以把成功后的数据携带到前端。

猜你喜欢

转载自blog.csdn.net/houzhicongone/article/details/120643299