How to send a HTTP error for a Java RESTful web se

2019-02-19 04:09发布

问题:

I have done this tutorial and now I want to throw an error from this webservice, like HTTP error code 403 or 400.

How can i do this? I noticed that i have an interface of type HttpServletResponse, but I don't know how I can use it. Do I have to import something else?

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:

You can do it like this.

@GET
public Response check(@QueryParam("username") String username) {
   if (facade.checkUser(username)) {
      return Response.status(Response.Status.NOT_FOUND).build();
   }
   return Response.ok().build();
}