如何解决与 rest api POST 请求相关的异常?
How to resolve an exception related to rest api POST request?
我接到来自 angular 5 个应用程序的电话:
const httpOptions = {
headers: new HttpHeaders({ 'Accept': 'application/json', 'Content-Type': 'application/json' })
};
...
addTrip(trip: Trip): Observable<any> {
return this.http.post(`${this.baseUrl}/Trips/Trip`, JSON.stringify(trip), httpOptions);
}
java代码是使用rest的seam组件api:
@Name("tripFacadeREST")
@Scope(ScopeType.EVENT)
@Path("Trips")
public class TripFacadeREST {
@In private TripDaoHibernateImpl tripDao;
...
@POST
@Path("Trip")
@Consumes("application/json")
public Response addNewTrip(Trip newTrip) {
tripDao.addTrip(newTrip);
return Response.ok().entity("trip added successfully").build();
}
尝试向服务器发送 POST 请求时出现异常 (tomcat - java 7):
java.lang.AbstractMethodError:
javax.ws.rs.core.Response.getStatusInfo()Ljavax/ws/rs/core/Response$StatusType
tomcat日志:
0:0:0:0:0:0:0:1 - - [23/May/2018:16:07:12 +1000] "OPTIONS
/jboss-seam/seam/resource/rest/Trips/Trip HTTP/1.1" 200 -
0:0:0:0:0:0:0:1 - - [23/May/2018:16:07:12 +1000] "POST
/jboss-seam/seam/resource/rest/Trips/Trip HTTP/1.1" 500 1386
我无法让这个调用工作,我也尝试过 PUT,但我知道 put 是为了更新,因为 id 是在我使用的服务器端创建的 post。知道如何解决这个问题吗? (我能够在同一个服务中使用 GET 注释,没有任何问题)。
这个问题已通过将 resteasy jar 更新到版本 2.1.0 得到解决。
对于任何遇到类似问题的人。
Seam 2.1.2 与 resteasy 2.1.
我接到来自 angular 5 个应用程序的电话:
const httpOptions = {
headers: new HttpHeaders({ 'Accept': 'application/json', 'Content-Type': 'application/json' })
};
...
addTrip(trip: Trip): Observable<any> {
return this.http.post(`${this.baseUrl}/Trips/Trip`, JSON.stringify(trip), httpOptions);
}
java代码是使用rest的seam组件api:
@Name("tripFacadeREST")
@Scope(ScopeType.EVENT)
@Path("Trips")
public class TripFacadeREST {
@In private TripDaoHibernateImpl tripDao;
...
@POST
@Path("Trip")
@Consumes("application/json")
public Response addNewTrip(Trip newTrip) {
tripDao.addTrip(newTrip);
return Response.ok().entity("trip added successfully").build();
}
尝试向服务器发送 POST 请求时出现异常 (tomcat - java 7):
java.lang.AbstractMethodError: javax.ws.rs.core.Response.getStatusInfo()Ljavax/ws/rs/core/Response$StatusType
tomcat日志:
0:0:0:0:0:0:0:1 - - [23/May/2018:16:07:12 +1000] "OPTIONS /jboss-seam/seam/resource/rest/Trips/Trip HTTP/1.1" 200 - 0:0:0:0:0:0:0:1 - - [23/May/2018:16:07:12 +1000] "POST /jboss-seam/seam/resource/rest/Trips/Trip HTTP/1.1" 500 1386
我无法让这个调用工作,我也尝试过 PUT,但我知道 put 是为了更新,因为 id 是在我使用的服务器端创建的 post。知道如何解决这个问题吗? (我能够在同一个服务中使用 GET 注释,没有任何问题)。
这个问题已通过将 resteasy jar 更新到版本 2.1.0 得到解决。 对于任何遇到类似问题的人。 Seam 2.1.2 与 resteasy 2.1.