Обязательный параметр String 'email' отсутствует - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь сделать простой проект для моего колледжа.Я пытаюсь отправить электронное письмо.

Мой контроллер в SPRING MVC

@RequestMapping(value = "/send-mail", method = RequestMethod.POST)
    public ResponseEntity<String> sendEmailToClient(@RequestParam(name="email") final String email) {
        //some code
    }
}

Мой угловой запрос

public sendEmail<T>(emailAddress: String) {
        return this.http.post<T>(this.getEmailUrl, {params: {
            email: emailAddress
        }})
            .catch(error => {
                throw new Observable(error)
            })
    }

Но я получил ошибку.

POST http://localhost:8080/M.S.-Handloom-Fabrics/mail/send-mail 400 (обязательный параметр строки 'email' отсутствует)

1 Ответ

0 голосов
/ 06 июня 2018

Я думаю, что вы допустили ошибку в вашем http.post(...).Вы забыли параметр.

Согласно Угловые документы о посте HttpClient , это определение метода post:

post(url: string, body: any | null, options: {
    headers?: HttpHeaders | {
        [header: string]: string | string[];
    };
    observe?: 'body';
    params?: HttpParams | {
        [param: string]: string | string[];
    };
    reportProgress?: boolean;
    responseType: 'arraybuffer';
    withCredentials?: boolean;
}): Observable<ArrayBuffer>

Таким образом, у вас должно быть 3 параметра:

  • url: Type: string.
  • body: Type: any | null.
  • options: Type: { headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: 'body'; params?: HttpParams | { [param: string]: string | string[]; }; reportProgress?: boolean; responseType: 'arraybuffer'; withCredentials?: boolean; }.

Поскольку вы забыли один параметр, ваш URL - это хорошо, но ваш params - это вашbody и у вас нет options.

РЕДАКТИРОВАТЬ

Ваш код должен быть:

public sendEmail<T>(emailAddress: String) {
        return this.http.post<T>(this.getEmailUrl, {}, {params: {
            email: emailAddress
        }})
        .catch(error => {
            throw new Observable(error)
        });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...