Практика отладки проектов Java: как эффективно отлаживать запросы GET в проектах Spring Boot и устранять несоответствия регистра с помощью методаqualsIgnoreCase()

Практика отладки проектов Java: как эффективно отлаживать запросы GET в проектах Spring Boot и устранять несоответствия регистра с помощью методаqualsIgnoreCase

  • напиши спереди
  • Весь процесс
  • Java метод равноIgnoreCase()
  • Как отладить проект SpringBoot в идее
      • Использование встроенного HTTP-клиента в IntelliJ IDEA
      • Устанавливайте точки останова и отлаживайте
    • Дополнение: Как отлаживать Java-проекты в идее

напиши спереди

Недавно я столкнулся с проблемой при запуске Java-проекта.

Под удаленным руководством @tanyue в ходе пошагового процесса отладки было обнаружено, что случай несогласован, что привело к выводу, что поля не совпадают.

Наконец, после замены метода «equals()» на «equalsIgnoreCase()» проблема была успешно решена!

Equals() оценит разницу регистра, но методqualsIgnoreCase() не оценит регистр.

Давно не прикасался к Java, во время просмотра узнал что-то новое об отладке, поэтому запишу сюда.

Весь процесс

Во время разработки недавнего Java-проекта я столкнулся с загадочной проблемой. По большей части проект работает нормально, но в некоторых конкретных случаях он работает не так, как ожидалось. Сначала я подумал, что это логическая ошибка или какой-то скрытый баг, но после внимательного просмотра кода явных ошибок обнаружено не было.

Г-н Дан Да помог с дистанционным руководством. Еще раз спасибо за его время и энергию. В этот период, поскольку у меня два экрана, некоторые операции выполняются немного сложно и странно.

Чтобы обнаружить проблему, мы начали детальный процесс отладки. Распечатывая журналы и шаг за шагом отслеживая, я обнаружил, что проблема заключалась в регистре строки. В Java сравнение строк по умолчанию чувствительно к регистру. Это означает, что даже если две строки имеют одинаковое буквальное значение, но несовместимый регистр, equals()они будут считаться неравными при сравнении с использованием этого метода.

Вставьте сюда описание изображения

Проблема в том, что при сравнении двух, казалось бы, идентичных строк результат не «равен», как ожидалось.
В этом проекте возникла несогласованность регистра, поскольку некоторые поля были введены пользователем, а другие были созданы системой. Вот почему в некоторых случаях, даже если поля кажутся одинаковыми, программа определяет, что они не равны.

Окончательное решение было довольно простым, но очень эффективным. equals()Замените все вызовы методов, включающие строки, на equalsIgnoreCase(). Этот метод решил мою проблему, игнорируя различия в регистре при сравнении строк. Например, "example".equalsIgnoreCase("Example")вернет true, а использование equals()вернет false.

Вставьте сюда описание изображения

Этот опыт научил меня быть особенно осторожным при сравнении строк, особенно в сценариях, включающих пользовательский ввод и данные, генерируемые системой. Я также понимаю, что иногда решение проблемы может быть удивительно простым, и главное — терпение и тщательная отладка.

Java метод равноIgnoreCase()

Ссылка : https://www.runoob.com/java/java-string-equalsignorecase.html.

Класс Java String : метод EqualsIgnoreCase() используется для сравнения строки с указанным объектом, независимо от регистра.

грамматика :

public boolean equalsIgnoreCase(String anotherString)

Параметры : anObject – объект, с которым сравнивается строка.

Возвращаемое значение : true, если данный объект равен строке, в противном случае — false.

Пример : метод Equals() определит разницу регистра, но методqualsIgnoreCase() не определит разницу регистра:

public class Test {
    
    
    public static void main(String args[]) {
    
    
        String Str1 = new String("runoob");
        String Str2 = Str1;
        String Str3 = new String("runoob");
        String Str4 = new String("RUNOOB");
        boolean retVal;

        retVal = Str1.equals( Str2 );
        System.out.println("返回值 = " + retVal );

        retVal = Str3.equals( Str4);
        System.out.println("返回值 = " + retVal );

        retVal = Str1.equalsIgnoreCase( Str4 );
        System.out.println("返回值 = " + retVal );
    }
}

Результат выполнения вышеуказанной программы:

返回值 = true
返回值 = false
返回值 = true

Как отладить проект SpringBoot в идее

Отладку в проекте Spring Boot, особенно для сетевых запросов, таких как запросы HTTP GET, можно выполнить в IDE, выполнив следующие действия. Вот шаги:

В IntelliJ IDEA вы можете напрямую вызывать запрос GET в проекте Spring Boot без использования внешних инструментов, таких как Postman или браузер. IntelliJ IDEA предоставляет встроенную функцию HTTP-клиента, которая позволяет отправлять HTTP-запросы и просматривать ответы непосредственно из IDE.

Использование встроенного HTTP-клиента в IntelliJ IDEA

  1. Создайте файл HTTP-запроса:

    • В проекте щелкните правой кнопкой мыши каталог исходного кода или любой каталог.
    • Выберите New-> HTTP Request.
    • Это создаст новый .httpфайл.
  2. Написать HTTP-запрос: (Вы также можете нажать, чтобы сгенерировать автоматически)

    • В .httpфайле пропишите GET-запрос. Например:
      GET http://localhost:8080/your-endpoint
      
    • Убедитесь, что URL-адрес и номер порта соответствуют конфигурации приложения Spring Boot и заменены your-endpointфактическим путем к конечной точке.

Вставьте сюда описание изображения

Вставьте сюда описание изображения

  1. послать запрос:

    • В .httpфайле нажмите зеленую кнопку воспроизведения рядом со строкой запроса, чтобы отправить запрос.
    • Вы также можете использовать сочетания клавиш (обычно Ctrl + Enter).
  2. Посмотреть ответ:

    • После отправки запроса IDE отображает новое окно или область, где можно увидеть ответ HTTP.
    • Ответ включает код состояния, информацию заголовка и тело ответа.

Устанавливайте точки останова и отлаживайте

Если вы хотите выполнить отладку при обработке этого запроса GET:

  1. Установить точку останова:

    • Найдите часть кода, которую вы хотите отладить, например метод, обрабатывающий запросы GET в контроллере.
    • Установите точку останова рядом со строкой кода, в которой вы хотите, чтобы программа приостановила выполнение. Просто нажмите на пустое место рядом с номером строки, и вы увидите красную точку, указывающую, что точка останова установлена.
  2. Запустите приложение в режиме отладки:

    • Рядом с классом запуска проекта (обычно @SpringBootApplicationэто аннотированный класс) нажмите кнопку отладки (значок, похожий на ошибку) или используйте сочетание клавиш (обычно Shift+F9), чтобы запустить режим отладки.
  3. Отправьте GET-запрос:

    • Используйте браузер, Postman или любой HTTP-клиент, чтобы отправить запрос GET к приложению Spring Boot, обязательно используя правильный URL-адрес и номер порта.
    • В IntelliJ IDEA вы можете напрямую вызывать запрос GET в проекте Spring Boot без использования внешних инструментов, таких как Postman или браузер. IntelliJ IDEA предоставляет встроенную функцию HTTP-клиента, которая позволяет отправлять HTTP-запросы и просматривать ответы непосредственно из IDE.
  4. Отладка и проверка :

    • Когда запрос достигает точки останова, приложение приостанавливается в этой точке.
    • В это время вы можете проверять и изменять значения переменных и наблюдать за состоянием приложения.
    • Пошагово просматривайте код, используя такие функции, как «Шаг через» (F8) и «Шаг с заходом» (F7).
  5. Посмотреть детали запроса :

    • В точке останова вы можете просмотреть подробную информацию о HTTP-запросе, такую ​​как параметры запроса, заголовки запроса и т. д.
  6. Скорректируйте ответ и продолжите выполнение :

    • При необходимости вы можете изменить значения переменных или скорректировать ответ в отладчике.
    • Продолжайте выполнение программы до тех пор, пока не будет получен ответ.
  7. Журналы и вывод :

    • Просмотрите вывод консоли IDE для получения информации о журнале и выводе программы.
  8. Условная точка останова :

    • Если вы хотите приостановить выполнение только при выполнении определенного условия, вы можете установить условную точку останова.
  9. Завершите сеанс отладки :

    • После завершения отладки нажмите кнопку «Стоп», чтобы завершить сеанс отладки.
  10. Используйте печать журнала :

    • Если вы не хотите прерывать поток выполнения, вы можете добавить в код операторы печати журнала, чтобы отслеживать выполнение программы.

Обратите внимание: при отладке сетевых запросов убедитесь, что сетевое окружение настроено правильно, особенно настройки прокси-сервера, конфигурация порта и т. д., чтобы гарантировать, что запрос может достичь вашего приложения Spring Boot. Благодаря такому процессу отладки вы можете подробно понять и обработать запросы GET в приложениях Spring Boot.

Используя этот подход, легко получить полный контроль над отправкой и получением HTTP-запросов из IDE, обеспечивая при этом эффективную отладку. Это очень удобно для быстрого тестирования и отладки REST API в приложениях Spring Boot.

Дополнение: Как отлаживать Java-проекты в идее

Отладка проектов Java в IntelliJ IDEA — мощная и важная функция, особенно важная для выявления и решения сложных проблем. Вот шаги по отладке проекта Java в IntelliJ IDEA:

  1. Установить точку останова :

    • Откройте проект Java и найдите часть, которую хотите отладить.
    • Нажмите рядом с номером строки или используйте горячую клавишу (в Windows/Linux Ctrl+F8, на Mac Cmd+F8), чтобы установить точку останова в строке кода, где вы хотите приостановить работу программы.
  2. Запустите сеанс отладки :

    • Сеанс отладки можно запустить, щелкнув значок «ошибка» (значок отладки) в интерфейсе IDE или воспользовавшись клавишей быстрого доступа ( Shift+F9).
    • Убедитесь, что проект скомпилирован и запущен с правильной конфигурацией.
  3. Просмотр переменных и выражений :

    • Когда выполнение программы достигает точки останова, оно приостанавливается. На этом этапе значение переменной можно просмотреть и оценить.
    • Используйте окно «Переменные» для просмотра переменных в текущей области.
    • Конкретные выражения можно оценить с помощью функции оценки выражений.
  4. Пройдитесь по коду :

    • Используйте «Шаг с обходом» (F8), чтобы выполнить текущую строку кода и перейти к следующей строке.
    • Используйте «Шаг с заходом» (F7) для входа в метод, если есть вызов метода.
    • Используйте «Выход» (Shift+F8), чтобы выйти из текущего метода и вернуться к тому месту, где он был вызван.
  5. Просмотр журналов и вывода :

    • Просмотрите окно консоли для вывода данных программы и информации журнала.
  6. Изменить значение переменной :

    • Во время отладки значения переменных можно изменять динамически для тестирования различных ситуаций.
  7. Условная точка останова :

    • Если вы хотите приостановить выполнение только при выполнении определенного условия, вы можете установить условную точку останова. Щелкните правой кнопкой мыши точку останова и добавьте условие.
  8. Следите за выражением :

    • В окне «Наблюдения» вы можете добавить определенные выражения или переменные, которые необходимо отслеживать.
  9. Завершите сеанс отладки :

    • После завершения отладки вы можете нажать кнопку «Стоп» (значок красного квадрата), чтобы завершить сеанс отладки.
  10. Используйте точки останова журнала :

    • Точки останова журнала позволяют распечатать конкретную информацию без приостановки работы программы, что полезно для отладки, не прерывая поток приложения.

Supongo que te gusta

Origin blog.csdn.net/wtyuong/article/details/135232390
Recomendado
Clasificación