Java的新專案學成線上筆記-day4(二)
阿新 • • 發佈:2019-01-08
3.2.1.3 Dao
定義CmsConfig的dao介面:
public interface CmsConfigRepository extends MongoRepository<CmsConfig,String> { }
3.2.1.4 Service
定義CmsConfigService實現根據id查詢CmsConfig資訊。
@Service public class CmsConfigService { @Autowired CmsConfigRepository cmsConfigRepository; //根據id查詢配置管理資訊 public CmsConfig getConfigById(String id){ Optional<CmsConfig> optional = cmsConfigRepository.findById(id); if(optional.isPresent()){ CmsConfig cmsConfig = optional.get(); return cmsConfig; } return null; } }
3.2.1.5 Controller
@RestController @RequestMapping("/cms/config") public class CmsConfigController implements CmsConfigControllerApi { @Autowired CmsConfigService cmsConfigService; @Override @GetMapping("/getmodel/{id}") public CmsConfig getmodel(@PathVariable("id") String id) { return cmsConfigService.getConfigById(id); } }
3.2.1.6 測試
使用postman測試介面: get請求:http://localhost:31001/cms/config/getmodel/5a791725dd573c3574ee333f (輪播圖資訊)
3.2.3 遠端請求介面
SpringMVC提供 RestTemplate請求http介面,RestTemplate的底層可以使用第三方的http客戶端工具實現http 的 請求,常用的http客戶端工具有Apache HttpClient、OkHttpClient等,本專案使用OkHttpClient完成http請求, 原因也是因為它的效能比較出眾。
1、新增依賴
<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> </dependency>
2、配置RestTemplate
在SpringBoot啟動類中配置 RestTemplate
... public class ManageCmsApplication {
public static void main(String[] args) {
SpringApplication.run(ManageCmsApplication.class,args);
}
@Bean
public RestTemplate restTemplate() {
return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
}
}
3、測試RestTemplate
根據url獲取資料,並轉為map格式。
@Test public void testRestTemplate(){
ResponseEntity<Map> forEntity =
restTemplate.getForEntity("http://localhost:31001/cms/config/get/5a791725dd573c3574ee333f", Map.class);
System.out.println(forEntity);
}