亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 spring rest 服務返回 XML 響應?

如何從 spring rest 服務返回 XML 響應?

慕的地8271018 2023-05-17 16:09:48
我試圖在我的簡單 spring rest 服務中返回一個 xml 響應。我使用 spring initializr 啟動并創建了一些員工類和一個客戶端來發送請求。默認似乎是 JSON 輸入和輸出,但當我嘗試將其更改為 XML 時,它仍然以 JSON 響應。我嘗試在員工類中添加 XML 注釋,并在 @GetMapping 方法旁邊添加 @ResponseBody。我還看到了其他一些需要添加某種 spring 配置的方法,但是 spring initializr 不包含任何配置文件,只是一個 pom.xml。EmployeeController.java@RestControllerpublic class EmployeeController {    @Autowired    private EmployeeService employeeService;    @GetMapping("/employees")    public @ResponseBody HashMap<String, Employee> retrieveEmployees() {        return employeeService.retrieveAllEmployees();    }    @GetMapping("/employees/{employeeId}")    public @ResponseBody Employee retrievebyId(@PathVariable String employeeId) {        return employeeService.retrieveEmployee(employeeId);    }    @PostMapping(path="/employees")    public ResponseEntity<Void> registeremployee(@RequestBody Employee newemployee) {        Employee employee = employeeService.addEmployee(newemployee.getId(),newemployee.getName(), newemployee.getDescription());        if (employee == null)            return ResponseEntity.noContent().build();        URI location = ServletUriComponentsBuilder.fromCurrentRequest().path(                "/{id}").buildAndExpand(employee.getId()).toUri();        return ResponseEntity.created(location).build();    }}
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

您需要將映射更新為:

@GetMapping("/employees", produces = MediaType.APPLICATION_XML_VALUE)

另外,請確保您有 publicgetterssettersin your EmployeeService.javaclass。


查看完整回答
反對 回復 2023-05-17
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

你必須使用而不是這條線

httpHeaders.setContentType(MediaType.APPLICATION_XML);

headers.setAccept(Collections.singletonList(MediaType.APPLICATION_XML));

在 RestTemplate 標頭中。

您也可以通過這種方式進行。

headers.set("Accept", MediaType.APPLICATION_XML);

此外,在 Rest 端點的情況下,您還必須支持 XML 和 JSON,如下所示。

@GetMapping(path = "/{your path}", produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE})



查看完整回答
反對 回復 2023-05-17
  • 2 回答
  • 0 關注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號