登录Jira localhost的POJO课程。
package com.rest.requestpojo;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class LoginApi {
@SerializedName("username")
@Expose
private String username;
@SerializedName("password")
@Expose
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

服务类从JIRA获取响应后调用登录。我只是使用main方法来检查响应。
package com.rest.services;
import org.json.JSONObject;
import com.rest.requestpojo.LoginApi;
import io.restassured.RestAssured;
import io.restassured.response.Response;
import io.restassured.specification.RequestSpecification;
public class Service
{
public Response jiraLoginAuth(String username, String password)
{
LoginApi login = new LoginApi();
login.setUsername(username);
login.setPassword(password);
JSONObject jsonObject = new JSONObject(login);
RequestSpecification requestSpecification = RestAssured.given();
requestSpecification.contentType("application/json");
requestSpecification.body(jsonObject);
Response response =requestSpecification.post(ServiceURL.jiraLoginUrl);
System.out.println(response);
return response;
}
public static void main(String[] args) {
Service service = new Service();
service.jiraLoginAuth("chinmaya","ck2016d");
}
}

发布服务网址。
package com.rest.services;
public class ServiceURL {
public final static String jiraLoginUrl ="http://localhost:8080/rest/auth/1/session";
}

下面是POM.XML页面,其中所有的dependecies都可用。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.restAPIFramework</groupId>
<artifactId>restAPIFramework</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-schema-validator</artifactId>
<version>3.0.7</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
</dependencies>
</project>
&#13;
以下是我在运行时获得的错误。 POM中是否缺少导致问题的依赖项或jar?请帮助我,我是新来的安慰。
Exception in thread "main" java.lang.NoClassDefFoundError: io/restassured/response/Response
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: io.restassured.response.Response
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
&#13;
答案 0 :(得分:4)
您需要更改pom文件中的rest-assured范围,因为根据您当前的配置,依赖项仅在测试阶段可用。
尝试将其更改为
<scope>compile</scope>
答案 1 :(得分:0)
将我放心的依赖版本从3.0.0更改为3.0.7为我解决了这个问题。
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.7</version>
<scope>test</scope>
</dependency>