HttpErrorResponse: внутренняя ошибка сервера - PullRequest
0 голосов
/ 10 июля 2019

Я новенький с угловой 6. Я разработал почтовый сервис с весенней загрузкой, и когда я тестирую его через почтальона, он работает отлично, но когда я тестирую его с помощью веб-браузера, он выдает мне эту ошибку:

HttpErrorResponse {заголовки: HttpHeaders, status: 500, statusText: "OK", url: "http://localhost:8080/api/test/ordermiss", ok: false,…} ошибка: {отметка времени:" 2019-07-10T13: 35: 09.083+ 0000 ", сообщение: null, подробности:" uri = / api / test / ordermiss "} детали:" uri = / api / test / ordermiss "сообщение: nulltimestamp:" 2019-07-10T13: 35: 09.083 + 0000 " proto : Заголовки объектов: HttpHeaderslazyInit: ƒ () lazyUpdate: nullnormalizedNames: Map (0) {} proto : Objectmessage: «Ответ об ошибке Http для http://localhost:8080/api/test/ordermiss: 500 OK» имя: "HttpErrorResponse" ok: falsestatus: 500statusText: "OK" url: "http://localhost:8080/api/test/ordermiss"proto: HttpResponseBaseconstructor: ƒ HttpErrorResponse (init) proto : Объект

и когда я взглянул на консоль пружины, она выдала следующее предупреждение:

2019-07-11 13: 36: 01.796 ПРЕДУПРЕЖДЕНИЕ 14404 --- [nio-8080-exec-4] .m.m.a.ExceptionHandlerExceptionResolver: разрешено [java.lang.NullPointerException]

Я работал таким же методом с другим объектом, но не получил эту ошибку, поэтому, пожалуйста, не могли бы вы мне помочь

это услуга:

                constructor(private http: HttpClient) { }

           SaveOM(Om: Object): Observable<Object> {
         return this.http.post(`${this.baseUrl}`, Om);
           }

и это .ts:

    save() {
      this.omService.SaveOM(this.ordermission)
      .subscribe(data => console.log(data), error => console.log(error));
    this.ordermission = new Ordermission();
      }

     onSubmit() {
       this.submitted = true;
          this.save();
       }

класс угловой:

           export class Ordermission {
          id:number;
        mat:string;
         depart:string;
         dest:string;
      // etat:string;enum class
       // type:string;enum class
        // localisation:string;enum class
         datedeb:Date;
        datefin:Date;
         distance:number;
         couttranp:number;
         coutheberg:number;
       total:number;
        }

контроллер:

              @CrossOrigin(origins = "*", maxAge = 3600)
             @RestController
            @RequestMapping("/api/test")
              @PreAuthorize("hasRole('USER') or hasRole('ADMIN')")
          public class OrdermissionController {

  @Autowired private OrdermissionRepository ordermissionrep;

  @Autowired private OrderMissService orderMissService;


  @PostMapping("/ordermiss")
// @ExceptionHandler(RuntimeException.class)
    public Ordermission createOM(@Valid @RequestBody Ordermission OM) {
        return orderMissService.saveOM(OM);

    }

услуга:

                 @Service
                public class OrderMissServiceImpl implementsOrderMissService {
                 Double var;
                 Double tot;
                 long cal;
                long cout;

  @Autowired private OrdermissionRepository ordermissionrep;


@Override
public Ordermission saveOM(Ordermission om) {
        if(om.getDepart().equals(Local.tunis) && om.getDest().equals(Local.sousse) || om.getDepart().equals(Local.sousse) && om.getDest().equals(Local.tunis)) {
        var =(double) 143;
        om.setDistance(var);
    }
    if(om.getDepart().equals(Local.tunis) && om.getDest().equals(Local.tabarka) || om.getDepart().equals(Local.tabarka) && om.getDest().equals(Local.tunis)) {
        var =(double) 175;
        om.setDistance(var);
    }


    if(om.getDepart().equals(Local.tunis) && om.getDest().equals(Local.zaghouan) || om.getDepart().equals(Local.zaghouan) && om.getDest().equals(Local.tunis)) {
        var =(double) 57;
        om.setDistance(var);
    }
    if(om.getDepart().equals(Local.tunis) && om.getDest().equals(Local.zarsis) || om.getDepart().equals(Local.zarsis) && om.getDest().equals(Local.tunis)) {
        var =(double) 544;
        om.setDistance(var);
    }

      if(om.getType().equals(Typetransport.perso)) {
          cal=(long) (om.getDistance()*2*0.08);
          om.setCouttranp(cal);
      }

      if(om.getType().equals(Typetransport.pubic)) {
          cal=(long) (om.getDistance()*2*0.375);
          om.setCouttranp(cal);
      }

     if(om.getEtat().equals(Etat.cadre)) {
         cout=(DaysBetween(om)+1)*25;
         om.setCoutheberg(cout);
     }
     if(om.getEtat().equals(Etat.non_cadre)) {
         cout=(DaysBetween(om)+1)*20;
         om.setCoutheberg(cout);
     }
     else if (om.getCoutheberg() != null && om.getCouttranp()!=null) {
        tot = (double) (om.getCoutheberg()+om.getCouttranp());
        om.setTotal(tot);
    }
    return  ordermissionrep.save(om);

}

Сущность:

      @Entity
    @Table(name = "ordermission")
   public class Ordermission {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String mat;

@Enumerated(EnumType.STRING)
private Typetransport type;

@Enumerated(EnumType.STRING)
private Etat etat;

@Enumerated(EnumType.STRING)
private Local depart;

@Enumerated(EnumType.STRING)
private Local dest;
@Temporal(TemporalType.DATE)
private Date datedeb;
@Temporal(TemporalType.DATE)
private Date datefin;

private Double distance;

private Long couttranp;
private Long coutheberg;

     // @Formula("couttranp + coutheberg")
       private Double total;  

1 Ответ

0 голосов
/ 10 июля 2019

ошибка 500 (внутренняя ошибка сервера) иногда показывает проблему CORS.Проверьте, правильно ли настроен ваш сервер для приема запроса CORS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...