前言
現(xiàn)在restful是流行的通信方式,利用restful+json的形式來完成后端服務(wù)的請求,這篇文章主要簡單介紹一下常用的輸入請求,并且以json的方式返回數(shù)據(jù)。
請求
- 常用的請求方式有GET、POST、PUT三種方式。
- 通過
@RequestMapping
注解可以通過path參數(shù)聲明請求的路徑, method參數(shù)來聲明請求的方式,consumes參數(shù)來聲明request的類型,produces參數(shù)來聲明response的類型。 - 通過
@RequestParam
注解來表明GET、POST、PUT請求的參數(shù)。 - 通過
@RequestHeader
注解來表明請求頭參數(shù)。 - 通過
@PathParam
注解來表明restful形式的path路徑參數(shù)。 - 通過
@ModelAttribute
來把傳入的參數(shù)轉(zhuǎn)換成對象的形式。
利用gson構(gòu)造json數(shù)據(jù)返回
- spring-boot默認(rèn)使用jackson方式來構(gòu)造json數(shù)據(jù),但是我們想要使用gson,就首先需要在pom.xml加入gson依賴的同時,排除jackson依賴。
- 在Application類通過
@EnableAutoConfiguration(exclude = {JacksonAutoConfiguration.class })
來排除掉jackson的序列化。 - 創(chuàng)建一個
HttpMessageConverters
來利用gson進(jìn)行object到j(luò)son的轉(zhuǎn)換
@Bean
public HttpMessageConverters gsonConverters() {
Collection<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
final Gson gson = new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation()
// .setExclusionStrategies(new GsonExclusionStrategy())
// .serializeNulls()
.create();
GsonHttpMessageConverter gsonHttpMessageConverter = new GsonHttpMessageConverter();
gsonHttpMessageConverter.setGson(gson);
messageConverters.add(gsonHttpMessageConverter);
return new HttpMessageConverters(true, messageConverters);
}
其中可以設(shè)置gson的行為和屬性
- 然后在對象里面通過gson提供的注解完成需要完成的事情
傳入?yún)?shù)的驗(yàn)證
可以參考之前寫的一篇文章,關(guān)于利用《使用validator-api來驗(yàn)證spring-boot的參數(shù)》的文章: http://www.lxweimin.com/p/2c2da2adef81
相關(guān)的代碼地址:
https://github.com/dragontree101/spring-boot-tutorials/tree/master/spring-boot-tutorial-02