2011-05-05 2 views
2

일부 연락처를 데이터베이스로 가져 오는 편안한 응용 프로그램이 있습니다. 나는 파일이 안락한 것을 통해 업로드되지 않을 때 예외를 던지고 싶다. 그래서 예외 클래스 DenemeException, 작성 및 코드를 실행할 때이 오류 org.jboss.resteasy.spi.UnhandledException 상태 코드를 보내려면 404 : exception.DenemeException : 부 exler 해제 날 pls 도와 수 있습니까?예외 매핑 - org.jboss.resteasy.spi.UnhandledException : exception.DenemeException : off bu exler

DenemeExceptionMapper.java

import javax.ws.rs.core.MediaType; 
import javax.ws.rs.core.Response; 
import javax.ws.rs.ext.ExceptionMapper; 
import javax.ws.rs.ext.Provider; 




@Provider 
public class DenemeExceptionMapper implements ExceptionMapper<DenemeException> { 
    @Override 
public Response toResponse(DenemeException ex){ 
    return Response.status(Response.Status.FORBIDDEN).entity(ex.getMessage()).type(MediaType.TEXT_PLAIN).build(); 
} 

} 

DenemeException.java

public class DenemeException extends Exception { 
/** 
* 
*/ 
private static final long serialVersionUID = 1L; 

public DenemeException(String message) { 
    super(message); 
} 

} 당신은을 사용하여 ExceptionMapper을 등록해야

내 나머지 컨트롤러

@POST 
@Path("/import") 
@Produces({"application/xml","application/json"}) 
public String saveContacts (@Context HttpServletRequest request, @Context HttpServletResponse response, 
     @QueryParam("alt") String alt) throws DenemeException { 

    byte[] content = null; 

    FileItemStream item = null; 
    try{ 
    ServletFileUpload upload = new ServletFileUpload(); 
    FileItemIterator iterator = upload.getItemIterator(request); 

    while (iterator.hasNext()) { 
     item = iterator.next(); 
     if ("fileUpload".equals(item.getFieldName())){ 

      content = IOUtils.toByteArray(item.openStream()); 

      } 
     } 
    } 
    catch(Exception e){ 
     System.out.println("hata oldu"); 
     throw new DenemeException("off bu exler"); 
    } 

답변

1

응용 프로그램, 예 :

public class HelloWorldApplication extends Application { 

    private Set<Object> singletons = new HashSet(); 
    private Set<Class<?>> empty = new HashSet(); 

    public HelloWorldApplication() { 
     // ADD YOUR RESTFUL RESOURCES HERE 
     this.singletons.add(new SimpleServiceImpl()); 
     this.singletons.add(new AuthenticationServiceImpl()); 
     this.singletons.add(new DenemeExceptionMapper()); //<<< -- HERE IS YOUR EXCEPTION MAPPER ! 
    } 

    public Set<Class<?>> getClasses() { 
     return this.empty; 
    } 

    public Set<Object> getSingletons() { 
     return this.singletons; 
    } 
}