Считайте ошибочный орган по ответу в Java

Если вы используете Angular v6 или выше, вы можете зарегистрировать сервис с корневым инжектором Angular, используя этот синтаксис:

import { EventEmitter } from '@angular/core';

@Injectable({providedIn: 'root'})
export class Headerrecipe{

  stringselected = new EventEmitter<string>()
}

Тогда услуга не должна быть включена в массиве providers любого модуля или компонента.

Регистрация службы таким способом регистрирует ее с корневым угловым инжектором, который предоставляет общий экземпляр. Таким образом, вы можете использовать эту технику для обмена данными между любыми компонентами приложения.

83
задан Jonik 29 January 2014 в 16:34
поделиться

5 ответов

Вот отчет об ошибках (близко, не зафиксирует, не ошибка).

Их совет там состоит в том, чтобы кодировать как это:

HttpURLConnection httpConn = (HttpURLConnection)_urlConnection;
InputStream _is;
if (httpConn.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
    _is = httpConn.getInputStream();
} else {
     /* error from server */
    _is = httpConn.getErrorStream();
}
157
ответ дан Shuge Lee 24 November 2019 в 08:49
поделиться

Я знаю, что это не отвечает на вопрос непосредственно, но вместо того, чтобы пользоваться библиотекой HTTP-соединения, обеспеченной Sun, Вы могли бы хотеть смотреть на палата общин HttpClient , который (по-моему), имеет намного более легкий API для работы с.

2
ответ дан matt b 24 November 2019 в 08:49
поделиться

Сначала проверьте код ответа и затем используйте HttpURLConnection.getErrorStream()

2
ответ дан Chris Dolan 24 November 2019 в 08:49
поделиться

Мой рабочий код.

  HttpURLConnection httpConn = (HttpURLConnection) urlConn;    
 if (httpConn.getResponseCode() < HttpURLConnection.HTTP_BAD_REQUEST) {
                        in = new InputStreamReader(urlConn.getInputStream());
                        BufferedReader bufferedReader = new BufferedReader(in);
                        if (bufferedReader != null) {
                            int cp;
                            while ((cp = bufferedReader.read()) != -1) {
                                sb.append((char) cp);
                            }
                            bufferedReader.close();
                        }
                            in.close();

                    } else {
                        /* error from server */
                        in = new InputStreamReader(httpConn.getErrorStream());
                    BufferedReader bufferedReader = new BufferedReader(in);
                    if (bufferedReader != null) {
                        int cp;
                        while ((cp = bufferedReader.read()) != -1) {
                            sb.append((char) cp);
                        }
                        bufferedReader.close();
                    }    
                    in.close();
                    }
                    System.out.println("sb="+sb);
0
ответ дан 24 November 2019 в 08:49
поделиться
InputStream is = null;
if (httpConn.getResponseCode() !=200) {
    is = httpConn.getErrorStream();
} else {
     /* error from server */
    is = httpConn.getInputStream();
}
0
ответ дан 24 November 2019 в 08:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: