Webservices에서 QueryParam과 pathParam의 차이점은 무엇입니까?


Best answer

안녕하세요!

토론하기

QueryParam : -Restful 서비스에서는 모든 것이 Http 프로토콜을 기반으로합니다.

따라서 데이터를 보낼 때마다 URL에 추가 된 쿼리 매개 변수를 사용하여 해당 데이터를 보낼 수 있습니다.

예 :-

http://localhost:8081/SearchApp/book?name=java 여기서 QueryParam은 이름입니다. 값은 java입니다.

여기서 QueryParams는 선택 사항입니다. 쿼리 매개 변수를 전송하는 것은 필수가 아닙니다.

따라서 QueryParam을 추가하지 않으면 404 오류가 발생하지 않습니다. 값이 null이므로 nullPointer 예외가 발생할 수 있습니다.

@GET

@Path("/book")

List getBooks(@QueryParam("name")String bookName){

}

PathParam : -따라서 데이터를 필수로 보내려면 값을 URL에 직접 세그먼트로 추가 할 수 있습니다. 경로 매개 변수를 추가하지 않으면 404 오류가 발생합니다.

예 :- http://localhost:8081/SearchApp/book/java (여기서 java 값은 URL 세그먼트로 직접 추가됨)

서비스 중

다음과 같이 검색 할 수 있습니다 .-

@GET

@Path("/book/{bookname}")

List getBooks(@PathParam("bookname")String bookName){

}

Answer

일반적인 REST 체계에서 URL의 경로 부분은 엔티티 클래스 계층 (/ Tables / Dining 반면에 쿼리 매개 변수는 더 구체적인 결과를 얻기 위해 클래스의 인스턴스를 찾기 위해 속성에 예약 될 수 있습니다. 예를 들어 아래 URL에서 갈색 식탁 목록을 가져 오려고합니다.

// products / tables / diningtable? color = brown

@PathParam은 부품을 일치시키는 데 사용됩니다. 매개 변수로 URL의. 예를 들어 http://example.com/tables/{diningtable} 형식의 URL에서 @PathParam ( “diningtable”)을 사용하여 식사 테이블 항목 클래스에 액세스 할 수 있습니다.

QueryParam은 액세스에 사용됩니다. URL의 쿼리 문자열에있는 키 / 값 쌍 (? 뒤의 부분). 예를 들어 URL http://example.com/ tables / diningtable? Color = brown, @QueryParam ( “color”)를 사용하여 갈색 인 색상 값을 얻을 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다