我想有一個@RestController
這需要一個@PathVariable
返回一個特定的對象JSON格式,在適當的狀態代碼一起。到目前爲止,代碼的方式,它將返回JSON格式的對象,因爲它默認使用內置於Jackson庫中的Spring 4。如何在Spring MVC @RestController中響應HTTP狀態碼@ResponseBody類返回一個對象?
但是我不知道如何使它所以它會給我們說希望有一個API變量,然後JSON數據的消息給用戶,那麼出錯代碼(或取決於如果一切順利成功代碼)。例如輸出爲:
請輸入API值作爲參數(注:這可能是JSON,以及如果需要的話)
{ 「ID」:2, 「API」: 「3000105000」 ...... }(注:這將是JSON響應對象)
狀態代碼400(或專有狀態碼)
與參數中的URL看起來像這樣
http://localhost:8080/gotech/api/v1/api/3000105000
的代碼,我到目前爲止有:
@RestController
@RequestMapping(value = "/api/v1")
public class ClientFetchWellDataController {
@Autowired
private OngardWellService ongardWellService;
@RequestMapping(value = "/wells/{apiValue}", method = RequestMethod.GET)
@ResponseBody
public OngardWell fetchWellData(@PathVariable String apiValue){
try{
OngardWell ongardWell = new OngardWell();
ongardWell = ongardWellService.fetchOneByApi(apiValue);
return ongardWell;
}catch(Exception ex){
String errorMessage;
errorMessage = ex + " <== error";
return null;
}
}
}
mmmmm還挺有意義的,那麼我現有的代碼在哪裏呢?或者是你發佈了自己的代碼,我會打電話來處理我的異常?對不起,我從來沒有見過這樣的代碼,看起來非常有用,儘管如此感謝您的幫助 – Cris 2014-10-01 05:13:37
它與您的代碼位於同一控制器中。只需將try-catch從處理程序方法中取出即可。 – Affe 2014-10-01 05:29:55
這是寫作RestAPIs我認爲非常有用和更好的方式。 如果我有多個控制器,是否必須爲所有控制器編寫這些處理程序,或者我可以將這些處理程序放入基類還是接口中並使用它? – shraddha 2017-11-07 00:50:54