7、封装返回值
数据库里面存储的字段并不都返回给前端!
第一步:新建 EbookResp
package com.zibo.wiki.resp;
public class EbookResp {
private Long id;
private String name;
private Long category1Id;
private Long category2Id;
private String description;
private String cover;
private Integer docCount;
private Integer viewCount;
private Integer voteCount;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getCategory1Id() {
return category1Id;
}
public void setCategory1Id(Long category1Id) {
this.category1Id = category1Id;
}
public Long getCategory2Id() {
return category2Id;
}
public void setCategory2Id(Long category2Id) {
this.category2Id = category2Id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getCover() {
return cover;
}
public void setCover(String cover) {
this.cover = cover;
}
public Integer getDocCount() {
return docCount;
}
public void setDocCount(Integer docCount) {
this.docCount = docCount;
}
public Integer getViewCount() {
return viewCount;
}
public void setViewCount(Integer viewCount) {
this.viewCount = viewCount;
}
public Integer getVoteCount() {
return voteCount;
}
public void setVoteCount(Integer voteCount) {
this.voteCount = voteCount;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", name=").append(name);
sb.append(", category1Id=").append(category1Id);
sb.append(", category2Id=").append(category2Id);
sb.append(", description=").append(description);
sb.append(", cover=").append(cover);
sb.append(", docCount=").append(docCount);
sb.append(", viewCount=").append(viewCount);
sb.append(", voteCount=").append(voteCount);
sb.append("]");
return sb.toString();
}
}
第二步:修改 EbookService
package com.zibo.wiki.serivce;
import com.zibo.wiki.domain.Ebook;
import com.zibo.wiki.domain.EbookExample;
import com.zibo.wiki.mapper.EbookMapper;
import com.zibo.wiki.req.EbookReq;
import com.zibo.wiki.resp.EbookResp;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class EBookService {
@Autowired
private EbookMapper ebookMapper;
public List<EbookResp> list(EbookReq req){
EbookExample ebookExample = new EbookExample();
// 查询条件
EbookExample.Criteria criteria = ebookExample.createCriteria();
criteria.andNameLike("%" + req.getName() + "%");
List<Ebook> ebookList = ebookMapper.selectByExample(ebookExample);
List<EbookResp> respList = new ArrayList<>();
for (Ebook ebook : ebookList) {
EbookResp ebookResp = new EbookResp();
BeanUtils.copyProperties(ebook,ebookResp); // 拷贝
respList.add(ebookResp);
}
return respList;
}
}
第三步:修改 EBookController
package com.zibo.wiki.controller;
import com.zibo.wiki.req.EbookReq;
import com.zibo.wiki.resp.CommonResp;
import com.zibo.wiki.resp.EbookResp;
import com.zibo.wiki.serivce.EBookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class EBookController {
@Autowired
private EBookService eBookService;
@GetMapping("ebook/list")
public CommonResp<List<EbookResp>> list(EbookReq req) {
CommonResp<List<EbookResp>> resp = new CommonResp<>();
List<EbookResp> list = eBookService.list(req);
resp.setContent(list);
return resp;
}
}