Как устранить исключение, связанное с POST-запросом rest api? - PullRequest
0 голосов
/ 23 мая 2018

У меня звонок из приложения 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);
  }

Ява-код - это компонент шва, в котором используется rest 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

relevant jars

журнал котов:

0: 0: 0: 0: 0: 0: 0:1 - - [23 / мая / 2018: 16: 07: 12 +1000] "ОПЦИИ / jboss-seam / шов / ресурс / отдых / отключение / отключение 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 в том же сервисе без проблем).

1 Ответ

0 голосов
/ 25 мая 2018

Эта проблема была решена путем обновления банок resteasy до версии 2.1.0.Для всех, кто сталкивался с подобной проблемой.Шов 2.1.2 с рестайзи 2.1.

...