1. 程式人生 > >Java的新專案學成線上筆記-day4(二)

Java的新專案學成線上筆記-day4(二)

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); 
}