2012-05-22 2 views
0

웹 서비스 서버 측을 구축 중입니다. 내 웹 서비스에서는 모든 클라이언트가 json 형식의 POST 메서드를 통해 모든 요청에 ​​대해 인증 매개 변수를 전달해야합니다. 게시를 통해 매개 변수를 전달하는 것이 좋은 습관입니까?webservice에서 인증 매개 변수를 전달하십시오.

남자가 나에게 말했다. 나는 데이터를 검색하기 위해 항상 GET 메서드를 사용해야한다. POST는 삽입 용으로 만 사용해야합니다. 그렇다면 인증 매개 변수를 어떻게 전달합니까? 하나는 URL을 통한 것이고 다른 하나는 헤더 값을 통한 것일 수 있습니다. 어떤 방법을 사용해야합니까?

답변

0

이 웹 서비스를 구현하십시오. 이 웹 서비스는 헤더 값을 통해 인증 매개 변수를 전달할 수 있습니다.

@WebService(serviceName="authentication") 
public class WSAuthentication { 
String name = null; 
String password = null; 

public WSAuthentication() { 
    super(); 
} 

public WSAuthentication(String name, String password) { 
    this.name = name; 
    this.password = password; 
} 

private static String getData(WSAuthentication sec) { 
    System.out.println("********************* AUTHENTICATION ********************" + "\n" + 
    "**********USER: " + sec.name + "\n" + 
    "******PASSWORD: " + sec.password + "\n" + 
    "******************************** AUTHENTICATION ****************************"); 
    return sec.name + " -- " + sec.password; 
} 

@WebMethod(operationName="security", action="authenticate") 
@WebResult(name="answer") 
public String security(@WebParam(header=true, mode=Mode.IN, name="user") String user, @WebParam(header=true, mode=Mode.IN, name="password") String password) { 
    WSAuthentication secure = new WSAuthentication(user, password); 
    return getData(secure); 
} 
} 

그리고 응답을 위해 POST 방법을 사용합니다. 나는 너를 도울 수 있기를 바란다.

+0

어떻게 고객 측에서 가치를 전달합니까? 저지를 사용 중입니다. WebResource webResource = client.resource (url); webResource.header ('user', 'adgsege'); 괜찮습니까? – user510783

관련 문제