2017-10-09 8 views
0

(* .JPG 또는 * .gif 참고) 클라이언트 브라우저 :나는 이미지를 반환하는 가장 좋은 방법은 무엇인지 궁금 오전

  • 내 생각에 떠오른 아이디어는 좋은 서블릿을 사용하는 것입니다.
  • 또는 JAX-RS (Jersy) 휴식 서비스도 사용할 수 있습니다.

나는

  • 썸네일 크기
  • 작은 크기
  • 정상 크기
  • 원래 크기
  • 사용자 정의 크기
을 같은 이미지의 크기가 다른 몇 가지 방법을 만들어야합니다

서블릿을 사용하는 경우 이미지 크기 당 하나의 서블릿을 만들 수 있으며 원하는 크기의 W 및 H 값을 URL 매개 변수로 서블릿에 보낼 수 있습니다.

REST를 사용하면 메소드가있는 클래스를 만들 수 있으며 사용자 정의 크기의 경우 Path 매개 변수를 사용할 수 있습니다.

하지만 성능은 어떻습니까? 더 나은 솔루션은 무엇입니까?

+0

휴식을 취할 수 있습니다. 성능과 다른 소스에서 사용하는 것이 좋습니다. –

답변

0

두 솔루션 모두 성능면에서 동등하다고 생각합니다. 그러나 IMHO, JAX-RS는 서블릿과 다르다. 서블릿은 선언적이며 절차 적이다.

@PathParam 대신 @QueryParam과 함께 하나의 엔드 포인트 만 사용해야합니다. 이미지의 크기는 하위 리소스보다 속성입니다. 질문에 말한 것 같습니다.

이 솔루션 (이미 한 번 구현했습니다)을 사용하면 주석을 포함하는 단 하나의 메소드 만 있어도 쉽게 읽을 수 있습니다. 예 :

@Path("images") 
public interface ImageResource { 
    enum Size { 
     thumbnail, small, normal, original, custom 
    } 

    @GET 
    @Path("/{id}") 
    @Produces("image/jpeg") 
    byte[] getImage(@PathParam("id") long id, @QueryParam("size") @DefaultValue("thumbnail") Size size, @QueryParam("width") Integer width, @QueryParam("height") Integer height); 
} 

그런 다음 size == Size.custom 너비와 높이가 모두 null이 아닌지 확인하십시오.