2015-09-09 17 views
0

发送错误作为JSON到前端我正在一个REST后端,我必须(用自定义应用程序键&码消息一起)作为JSON回前端发送错误信息的要求。使用HttpServletResponse的

我不知道是否包括JSON在msg参数的sendError方法(从HttpServletResponse)如下:

void sendError(int sc, 
       java.lang.String msg) 
       throws java.io.IOException 

...或使用该响应的实际的有效负载如下:

response.getWriter().write(json); 

任何人都可以请告知哪个是前进的最好方式?

回答

1

sendError将设置内容类型为"text/html",因此不适合将自定义json错误消息推送到客户端。

你最好设置的StatusCode自己

response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); 

,然后输入你需要使用作家的JSON字符串。

这显然是非常级别低。如果您使用的是某种REST框架,它通常会自动将异常转换为JSON格式。这样你只需要抛出一个异常,框架就可以完成剩下的工作。

+0

感谢这个答复!您是否有一个特定的框架来避免低水平的苦差事? – balteo

+0

春天很不错。 (基本教程在https://spring.io/guides/gs/rest-service/)。您可以通过提供定制的ExceptionHandlers自定义异常处理(https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc) – ddewaele

相关问题