一、文章微服務增加評論
- 修改tensquare_article工程的pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐data‐mongodb</artifactId>
</dependency>
- 修改application.yml ,在spring節點下新增配置
data:
mongodb:
host: 192.168.192.130
database: recruitdb
- 創建實體類
package com.tensquare.article.pojo;
import org.springframework.data.annotation.Id;
import java.io.Serializable;
import java.util.Date;
/**
* 文章評論(mongoDB)
* @author Eknaij
*
*/
public class Comment implements Serializable {
@Id
private String _id;
private String articleid;
private String content;
private String userid;
private String parentid;
private Date publishdate;
public String get_id() {
return _id;
}
public void set_id(String _id) {
this._id = _id;
}
public String getArticleid() {
return articleid;
}
public void setArticleid(String articleid) {
this.articleid = articleid;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getParentid() {
return parentid;
}
public void setParentid(String parentid) {
this.parentid = parentid;
}
public Date getPublishdate() {
return publishdate;
}
public void setPublishdate(Date publishdate) {
this.publishdate = publishdate;
}
}
- 創建數據訪問接口
/**
* 評論Dao
* @author Eknaij
*
*/
public interface CommentDao extends MongoRepository<Comment, String> {
}
- 創建業務邏輯類
package com.tensquare.article.service;
import com.tensquare.article.dao.CommentDao;
import com.tensquare.article.pojo.Comment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import util.IdWorker;
@Service
public class CommentService {
@Autowired
private CommentDao commentDao;
@Autowired
private IdWorker idWorker;
public void add(Comment comment){
comment.set_id( idWorker.nextId()+"" );
commentDao.save(comment);
}
}
- 創建控制器類
@RestController
@CrossOrigin
@RequestMapping("/comment")
public class CommentController {
@Autowired
private CommentService commentService;
@RequestMapping(method= RequestMethod.POST)
public Result save(@RequestBody Comment comment){
commentService.add(comment);
return new Result(true, StatusCode.OK, "提交成功 ",null);
}
}
二、根據評論ID查詢評論列表
(1)CommentDao新增方法定義
/**
* 根據文章ID查詢評論列表
* @param articleid
* @return
*/
public List<Comment> findByArticleid(String articleid);
(2)CommentService新增方法
public List<Comment> findByArticleid(String articleid){
return commentDao.findByArticleid(articleid);
}
(3)CommentController新增方法
/**
* 根據ID查詢評論列表
* @param articleid
* @return
*/
@RequestMapping(value="/article/{articleid}",method= RequestMethod.GET)
public Result findByArticleid(@PathVariable String articleid){
return new Result(true, StatusCode.OK, "查詢成功",
commentService.findByArticleid(articleid));
}
三、刪除評論
(1)CommentService新增方法
/**
* 刪除
* @param id
*/
public void deleteById(String id) {
commentDao.deleteById(id);
}
(2)CommentController新增方法
/**
* 刪除
* @param id
*/
@RequestMapping(value="/{id}",method=RequestMethod.DELETE)
public Result deleteById(@PathVariable String id ){
commentService.deleteById(id);
return new Result(true,StatusCode.OK,"刪除成功",null);
}