来自Spark Java documentation:
response.body("Hello"); // sets content to Hello
@return The content to be set in the response
那么区别是什么?有人可以向我解释一下吗?
答案 0 :(得分:7)
但实际差异在于response.body()
仅接受String
,而在回调中,您可以return
任何可以序列化为String
的对象,最重要的是流。
response.body()
应主要用于异常处理程序和过滤器之后,以及正常路由中的回调return
。
答案 1 :(得分:1)
正如您所指出的,它们都可用于设置响应体。我认为@return是典型的http端点的一部分。
response.body()对异常处理很有用。
exception(NotFoundException.class, (e, request, response) -> {
response.status(404);
response.body("Resource not found");
});
Sparkjava是一个简单的骨架,它意味着建立在它之上。 response.body()使sparkjava在您无法访问“返回”对象的上下文中易于扩展。
答案 2 :(得分:1)
它的作用确实没有区别,但它们都存在,因此在不同的环境中设置响应体很容易。例如,您可以在异常处理程序甚至过滤器中使用response.body
,但正如您可能注意到的那样,return
方式是更好的"在路线声明中。