[Java] @RestController(2017-12-05)

写Controller层时,我们经常会需要将对象序列化!

比如:浏览器发送一个Ajax请求,该请求传入参数是一个JSON格式,在服务的需要将JSON参数转换为普通的Java对象,这就是序列化!

我们在服务端获取到数据,这个数据是一个普通的Java对象,我们需要将这个Java对象转换为JSON字符串,并将其返回到浏览器中,這个为反序列化。

在SpringMVC中,我们只需要在Controller层中使用@RequestBody注解就可以将对象进行反序列化。这个相信大家肯定都用过!

 

@ApiOperation("读取药品码编码Api接口getBalanceStockMedicine")
@RequestMapping(value= "/getBalanceStockMedicine", method = RequestMethod.POST)
publicBalanceStockMedicine[] feed(@RequestBody FeedingDto req) {
***
}

 

 

若需要对Controller的方法进行序列化,我们就在返回值上使用@ResponseBody注解来定义。

 

@RestController
@RequestMapping("/medicine")
publicclass MedicineController {
 
@RequestMapping(value= "/getBalanceStockMedicine", method = RequestMethod.POST)
public@RequestBody BalanceStockMedicine[] feed(@RequestBody FeedingDto req) {
***
}
}

 

我们也可以将@RequestBody定义在Controller类上,这样我们就使得在该类上所有的方法都将会被序列化。

然而,你想到的Spring早都想到了,它在4.0中为我们提供了一个注解@RestController,

源代码如下:

 

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
Stringvalue() default "";
}

 

从代码中我们不难看出,我们需要的注解,在@RestController中已经定义过,我们只需要调用这个注解,就可以解决我们所有的问题,是不是很方便。

 

 参考文章:https://www.csdn.net/article/2015-10-25/2826033

 

刚开始写博客,不是很熟练,希望能够给大家带来帮助。不喜勿喷,谢谢。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值