Java 通过相同的rest服务生成2个不同媒体类型的单独响应
有没有办法,我可以通过相同的rest服务生成两个不同媒体类型的单独响应 我有一个使用JSON并生成JSON的服务 现在,我希望使用相同的方法为pdf生成Java 通过相同的rest服务生成2个不同媒体类型的单独响应,java,spring-boot,Java,Spring Boot,有没有办法,我可以通过相同的rest服务生成两个不同媒体类型的单独响应 我有一个使用JSON并生成JSON的服务 现在,我希望使用相同的方法为pdf生成byte[]或UserModel,因此定义如下 @RequestMapping(value="/getUser/{userId}", produces = {"application/pdf","application/json"}, consumes = {"application/json"}, method = Re
byte[]
或UserModel
,因此定义如下
@RequestMapping(value="/getUser/{userId}",
produces = {"application/pdf","application/json"},
consumes = {"application/json"},
method = RequestMethod.GET)
public ResponseEntity<UserModel> getUser(@PathVariable("userId")String userId){
//returns UserModel JSON
and can return
//returns bye[] and I generate pdf from the stream
}
@RequestMapping(value=“/getUser/{userId}”,
生成={“application/pdf”、“application/json”},
使用={“应用程序/json”},
method=RequestMethod.GET)
公共响应属性getUser(@PathVariable(“userId”)字符串userId){
//返回UserModelJSON
而且可以回来
//返回bye[]并从流生成pdf
}
由于API调用命中模式与相同参数相同,我如何动态决定生成哪一个。我可以很容易地创建另一个方法使其工作,但我想知道如何在spring boot中实现
products=“application/pdf”,“application/json”},
,因为两者都是完全不同的类型。创建两个方法,映射到相同的URL和相同的HTTP方法。一个是products=application/pdf,另一个是products=application/json。一个返回用户模型,另一个返回字节数组。这是spring项目吗?您可以使用Accept头策略,或者在这里:创建两个方法,映射到相同的URL和相同的HTTP方法。一个是products=application/pdf,另一个是products=application/json。一个返回用户模型,另一个返回字节数组。这是spring项目吗?您可以使用Accept header策略,或在此处: