次のjQueryコードでアクセスできるサービスがあります(Google Chromeから--disable-web-securityを使用)
$.ajax({
type: 'POST',
url: "http://10.30.1.2:9234/myapp/v6/token/generate",
headers: {
"Content-Type":"application/json",
"Accept":"application/json"
},
data: JSON.stringify({
"staffId" : "13254",
"password" : "JustADummyPassword"
})
}).done(function(data) {
console.log(data);
});
$.ajax({
type: 'GET',
url: "http://10.30.1.2:9234/myapp/v6/user/appl/Firstname/Lastname/email@address.com/1998-01-01",
headers: {
"Content-Type":"application/json",
"Accept":"application/json"
}
}).done(function(data) {
console.log(data);
});
最初の呼び出しは Cookie を設定します。これは、2 番目の呼び出しの認証に必要です。これは正常に機能し、両方のリクエストで期待どおりの結果が返されます。
サービスの自動テストを設定しようとしており、RestAssured を使用して Java で記述しています。
public class UserApplication {
public static Map<String, String> authCookies = null;
public static String JSESSIONID = null;
public static void main(String[] args) {
Response resp = hello();
resp = apiUserApplication();
}
public static Response apiUserApplication() {
String userAppl = "http://10.30.1.2:9234/myapp/v6/user/appl/Firstname/Lastname/email@address.com/1998-01-01";
Response response = RestAssured.given()
.cookie("JSESSIONID", JSESSIONID).and()
.header("Accept", "application/json").and()
.header("Content-Type", "application/json").and()
.when().get(userAppl);
return response;
}
public static Response hello() {
String helloUrl = "http://10.30.1.2:9234/myapp/v6/hello";
Response response = RestAssured.given().cookies(authCookies)
.contentType("application/json").when().get(helloUrl);
return response;
}
}
最初の呼び出し (hello) は正常に機能し、200 コードを返し、2 番目の呼び出しで使用する有効なトークンを取得します。400 ステータス コードの 2 番目の呼び出しから得られるエラーは...
{"errors":["Content type 'null' not supported"]}