首页 > 解决方案 > Rest Api 数据表示

问题描述

我有一个 Spring Boot Rest Api

@RestController
public class BookController {

@Autowired
private BookRepository bookRepo;

@GetMapping(value = "/library/", produces ={MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE})
public List<Book> index(){
    Iterable<Book> bookIterable = bookRepo.findAll();
    List<Book> bookList = new ArrayList<>();
    bookIterable.forEach(a->bookList.add(a));
    return bookList;
}

我的作业是添加一个额外的数据表示,这样当我输入请求时,我应该可以选择我不会使用 XML 或 JSON 的数据表示

问题是标头数据表示选项

我什至得到 json 当我对端点执行获取请求时如何在 XML 和 Json 之间进行更改

标签: jsonxmlrest

解决方案


要解决您的问题,您需要使用Accept标题。更多细节

Content Type头指示您在请求中传递的数据类型。更多细节

如果要发送和接收 xml,则需要使用标头发出请求:

 Accept: application/xml;
 Content-Type: application/xml;

有用的链接


推荐阅读