如何为Java RESTful Web服务发送HTTP错误?

3

我做了这个教程,现在我想从这个web服务中抛出一个错误,例如HTTP错误代码403400

我该怎么做呢?我注意到我有一个类型为HttpServletResponse的接口,但我不知道该如何使用它。我需要导入其他内容吗?

import java.util.Date;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;

import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.xml.ws.http.HTTPException;

import sun.awt.RequestFocusController;

import com.sun.jersey.spi.resource.Singleton;
import com.sun.research.ws.wadl.Request;
import com.sun.research.ws.wadl.Response;
1个回答

4
你可以像这样做。
@GET
public Response check(@QueryParam("username") String username) {
   if (facade.checkUser(username)) {
      return Response.status(Response.Status.NOT_FOUND).build();
   }
   return Response.ok().build();
}

如果我想返回一个字符串、整数或其中的一种代码,该怎么办? - Sas Gabriel
1
设置响应实体。Response.status(Response.Status.OK).entity("HELLO").build() - Jozef Dropčo
抱歉,我已经从教程链接下载了源代码,并查看了这个条目,但我无法弄清楚你在这里使用的 Response 对象是什么。import com.sun.research.ws.wadl.Response; 没有 status() 方法。你能否帮助我理解你们两个看到的东西,而我却忽略了呢? - SysHex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接