javax. ws. rs 주석: @ Conumes 와 @ Produces 등

3068 단어 JerseyRESTFULEJB
1、 @Consumes  주석 은 자원 이 받 아들 일 수 있 는 MIME 형식 을 대표 합 니 다.@Produces  주석 은 자원 이 되 돌 릴 수 있 는 MIME 형식 을 대표 합 니 다.
이 설명 들 은 자원, 자원 방법, 하위 자원 방법, 하위 자원 위치 결정 기 또는 하위 자원 에서 찾 을 수 있 습 니 다.
 
2, @ Produces: 되 돌아 오 는 형식
a. client 문자열 형식 으로 되 돌려 주기 (text / plain)
@Produces(MediaType.TEXT_PLAIN) 

b. client 에 json 형식 으로 되 돌려 주기 (application / json)
@Produces(MediaType.APPLICATION_JSON) 

테스트:
string 형식:
    @Path("/say")  
    @GET  
    @Produces(MediaType.TEXT_PLAIN)  
    public String say() {  
        System.out.println("hello world");  
        return "hello world";     
    }  

json 과 bean 종류:
    @Path("test")  
    @GET  
    @Produces(MediaType.APPLICATION_JSON)  
    public Result test() {  
        Result result = new Result();  
        result.success("aaaaaa");  
          
        return result;  
    }  
      
    @Path("bean")  
    @GET  
    @Produces(MediaType.APPLICATION_JSON)  
    public UserBean bean() {  
        UserBean userBean = new UserBean();  
        userBean.setId(1);  
        userBean.setUsername("fengchao");  
        return userBean;  
    }

3、@Consumes
@ Consumes 는 @ Produces 와 반대로 client 에서 보 내 온 MIME 형식 을 지정 합 니 다. class 나 method 에 도 사용 할 수 있 고 여러 개의 MIME 형식 을 지정 할 수 있 습 니 다. 보통 @ PUT, @ POST 에 사 용 됩 니 다.
a. client 인 자 를 문자열 형식 으로 받 아들 입 니 다.  @Consumes(MediaType.TEXT_PLAIN)  
b. clent 인 자 를 json 형식 으로 받 아들 입 니 다.  @Consumes(MediaType.APPLICATION_JSON) 
 
기타 설명:
@PathParam
url 에서 지정 한 매개 변수 이름 가 져 오기:
@GET  
@Path("{username"})  
@Produces(MediaType.APPLICATION_JSON)  
public User getUser(@PathParam("username") String userName) {  
    ...  
}  

@QueryParam
get 요청 의 조회 매개 변 수 를 가 져 옵 니 다:  
@GET  
@Path("/user")  
@Produces("text/plain")  
public User getUser(@QueryParam("name") String name,  
                     @QueryParam("age") int age) {  
    ...  
} 

매개 변수 에 기본 값 을 설정 하려 면 @ DefaultValue 를 사용 할 수 있 습 니 다. 예 를 들 어:
@GET  
@Path("/user")  
@Produces("text/plain")  
public User getUser(@QueryParam("name") String name,  
                    @DefaultValue("26") @QueryParam("age") int age) {  
    ...  
}

@FormParam
 post 요청 폼 의 데 이 터 를 가 져 옵 니 다:
@POST  
@Consumes("application/x-www-form-urlencoded")  
public void post(@FormParam("name") String name) {  
    // Store the message  
} 

@BeanParam
 요청 매개 변수 에 있 는 데 이 터 를 가 져 오고 실체 Bean 으로 패키지 합 니 다.
@POST  
@Consumes("application/x-www-form-urlencoded")  
public void update(@BeanParam User user) {  
    // Store the user data  
}  

 

좋은 웹페이지 즐겨찾기