• HTTP响应主体的方式不同:

  a. @RestController:

     1. 返回的对象数据作为JSON/XML直接写入HTTP响应.

     2. 是@Controller + @ResponseBody组合注解.

  1. 获取请求参数方式:
  • 在方法写形参获取 => 适合少量的
  • 定义一个对象存储提交的字段 => 适合量多的

3. 在方法写形参:

3.1 Get:

index(@RequestParam(value = "productId", required = false) String productId)
表示productId是非必传项

@RequestParam(value = "page", defaultValue = "0") Integer page
表示page参数默认值为0

4. 字义对象存储提交的字段:

(1). 验证对象:

# com/shop/form/ProductForm.java
package com.shop.form;
import lombok.Data;

@Data
public class ProductForm {
    private String productId;
    private String productName;
    ......
}

(2). 控制器:

# com/shop/controller/SellerProductController.java:
@PostMapping("/save")
public void save(@Valid ProductForm form, BindingResult bindingResult) {
    if (bindingResult.hasErrors()) {
        throw new SellException(ResultEnum.PARAMS_ERROR.getCode(),
                bindingResult.getFieldError().getDefaultMessage());
    }
}

 

// 判断字符值是否为空

if (!StringUtils.isEmpty(productId)) {

   // 查询存在的商品名称

}


数据拷贝

import org.springframework.beans.BeanUtils;

ProductInfo productInfo = new ProductInfo();

BeanUtils.copyProperties(form, productInfo);

List<OrderDetail> orderDetailList = new ArrayList<OrderDetail>(){

   {

       add(new OrderDetail(101, "鸭肉"));

       add(new OrderDetail(102, "肌肉"));

   }

};

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java