我目前正在尝试使用 Java/EE(5) 构建一个完全封装 http 响应的 REST Web 服务,因此每个请求都应返回响应代码 200(OK),并且应如下所示:
{
"msg" : { // imagine some datastructure here },
"error" : {
"code" : 200 // http response code
"status" : "OK" // some string defining this
}
}
我首选的框架是 JAX-RS(我们计划很快迁移到 EE6,因此迁移是开发此框架时的主题之一),但是 JAX-RS 可以做到这一点吗?
最佳答案
使用 JAX-RS 始终返回 200 OK
和 Content-Type: application/json
的最简单方法:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
@Path("/not-rest")
@Produces("application/json")
public class NotRestBean {
@GET
public Response getSoapStyle() {
String json = "{}"; // build your response here
return Response.ok(json).build();
}
}
再次强调,我不建议这样做。 REST 的核心部分是统一接口(interface),其中包括正确的响应代码。
关于java - 尝试使用封装的http响应代码构建REST服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767679/