2016-12-07 96 views
1

我使用Spring引導1.4.0,考慮下面的代碼@RestController,我期望的是,服務器端將收到一個帶有form_urlencoded內容類型的http主體,但不幸的是,它需要我query參數類型與emailtoken。這裏有什麼問題以及如何解決?Spring Boot REST:@DeleteMapping消耗form_urlencoded不能正常工作

@DeleteMapping(consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) 
@ResponseStatus(HttpStatus.NO_CONTENT) 
public void removeAdmin(@RequestParam(value = "email") String email, @RequestParam(value = "token") String token) { 
    //... 
} 

回答

0

@DeleteMapping僅爲方便延伸提供@RequestMapping(method=DELETE)它不會處理請求paramters。如果您需要數據執行工作,您仍然必須將這些映射到控制器方法簽名中。

既然你想有一個身體,你可以創建一個對象,並將其標記爲@RequestBody:

public class DeleteBody { 
    public String email; 
    public String token; 
} 

public void removeAdmin(@RequestBody DeleteBody deleteBody) { 
... 
} 
+0

但爲什麼@PostMapping的伎倆,我和作品就像我期望? – July