黑馬十次方專案day02-07之推薦職位和最新職位查詢
阿新 • • 發佈:2019-01-13
文章目錄
需求分析
通過檢視最新職位和推薦職位的API, 兩個介面均為get請求. 無需傳遞引數.
dao
com.tensquare.recruit.dao.RecruitDao
/**
* 資料訪問介面
* @author Administrator
*
*/
public interface RecruitDao extends JpaRepository<Recruit, String>,JpaSpecificationExecutor<Recruit>{
/**
* 方法名: findTopByStateOrderByCreatetimeDesc
* 方法描述: 查詢最新的職位 top6 代表只查詢前6個
* 修改日期: 2019/1/11 18:44
* @param state
* @return java.util.List<com.tensquare.recruit.pojo.Recruit>
* @author taohongchao
* @throws
*/
public List<Recruit> findTop6ByStateOrderByCreatetimeDesc(String state);
/**
* 方法名: findTop6ByStateNotOrderByCreatetimeDesc
* 方法描述: 查詢前6個最新的職位,按照時間倒序排序
* 修改日期: 2019/1/11 18:46
* @param state
* @return java.util.List<com.tensquare.recruit.pojo.Recruit>
* @author taohongchao
* @throws
*/
public List<Recruit> findTop6ByStateNotOrderByCreatetimeDesc(String state);
}
service
com.tensquare.recruit.service.RecruitService
@Service
public class RecruitService {
// 推薦職位的值為2
private static final String RECOMMED = "2";
// 關閉職位的值為0
private static final String CLOSEJOB = "0";
@Autowired
private RecruitDao recruitDao;
@Autowired
private IdWorker idWorker;
public List<Recruit> recommend(){
return recruitDao.findTop6ByStateOrderByCreatetimeDesc(RECOMMED);
}
public List<Recruit> newlist(){
return recruitDao.findTop6ByStateNotOrderByCreatetimeDesc(CLOSEJOB);
}
}
Controller
@RestController
@CrossOrigin
@RequestMapping("/recruit")
public class RecruitController {
@Autowired
private RecruitService recruitService;
/**
* 方法名: recommend
* 方法描述: 查詢推薦的職位
* 修改日期: 2019/1/11 19:01
* @param
* @return entity.Result
* @author taohongchao
* @throws
*/
@RequestMapping(value = "/search/recommend", method = RequestMethod.GET)
public Result recommend() {
return new Result(true, StatusCode.OK, "查詢成功", recruitService.recommend());
}
/**
* 方法名: newlist
* 方法描述: 查詢最新的職位
* 修改日期: 2019/1/11 19:01
* @param
* @return entity.Result
* @author taohongchao
* @throws
*/
@RequestMapping(value = "/search/newlist",method = RequestMethod.GET)
public Result newlist(){
return new Result(true, StatusCode.OK, "查詢成功", recruitService.newlist());
}
}
測試
啟動專案,進行測試
在api中傳送請求,響應的資料如下
可以看到createtiem時間欄位, 格式需要處理.
由於預設使用的是jackson處理的json資料.因此需要在jackson的實體類上的屬性,加上日期格式化的註解
@JsonFormat(pattern = "yyyy-MM-dd")
private java.util.Date createtime;//建立日期
修改後,時間欄位為處理後的格式了.