我在Spring MVC啓動容器Spring4 MVC序列化枚舉作爲字符串引號
@RestController
public class LoginController {
@RequestMapping("rest/login")
public Response login() {
return Response.GRANTED;
}
public static enum Response {
GRANTED, DENIED;
}
}
我必須使用雙引號的請求後,檢查返回類型的休息資源休息控制器。如何避免雙引號?
$http.post("rest/login", $scope.data).success(function(data) {
if (data === "\"GRANTED\"") {
alert("GRANTED")
} else if (data === "DENIED") {
alert("DENIED")
};
@RestController 公共類的LoginController {
@RequestMapping("rest/login")
public String login() {
return Response.GRANTED.name();
}
public static enum Response {
GRANTED, DENIED;
}
}
帶來我想要的結果,但我想要的類型安全返回類型響應,而不是字符串。
感謝您的幫助。
您是否考慮過返回HTTP狀態碼? – whirlwin
我做到了。它類似於具有null的代碼。一方面你把null解釋爲沒有價值。另一方面,它可能是一個意外的運行時錯誤。我想要一個始終返回成功狀態代碼的體系結構。如果出現真正意想不到的情況,我會收到一個真正的錯誤狀態碼,我可以在javascript控制檯上看到它。 –
存在許多不同的狀態,這是有原因的。服務器中的意外運行時錯誤將導致出現錯誤500的響應。返回錯誤400(錯誤請求)或401(未經授權)以清楚地標示實際功能錯誤。這完全不同於依靠null來表示錯誤,並且它應該如何使用HTTP。 –