同一个接口返回多种数据类型
因工作需要,有一个接口需要提供给第三方平台,第三方平台通过url后缀形式获取对应的数据格式。研究网上诸多实例,后来被大神巧妙解决。请参考!谢谢!!!
- 新建一个springboot项目
- 加入依赖
<!-- lombok 依赖 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- lombok 依赖 -->
<!-- xml&json -->
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>
<!-- xml&json -->
- 创建实体类
package com.lms.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int id;
private String name;
private String sex;
}
- 启动类加入注解即可
package com.lms.App;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@SpringBootApplication
@ComponentScan( basePackages= {"com.lms"})
@EnableWebMvc //重要的一部分
public class ReturnJsonXmlDataApplication {
public static void main(String[] args) {
SpringApplication.run(ReturnJsonXmlDataApplication.class, args);
}
}
- controller类
package com.lms.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.lms.model.User;
@RestController
@RequestMapping("/returnData")
public class ReturnDataController {
@GetMapping("/sayHello")
private String say() {
return "hello,this is a springboot ";
}
@GetMapping("/jsonAndxml")
private User jsonAndxml() {
User user =new User(1, "小明", "男");
return user;
}
}
- 页面效果
参考文献
- http://www.importnew.com/27632.html
- https://blog.csdn.net/u010695794/article/details/50242711
- https://blog.csdn.net/sinat_30665603/article/details/54175361
备注
可以在启动类或者配置类中加入@EnableWebMvc 这个注解,就有效果。另外,探究原理请看第三篇参考文献