Как я могу выполнить HTTP-запрос Jmeter с перечислением в качестве параметра запроса?

#spring #spring-mvc #jmeter

#spring #spring-mvc #jmeter

Вопрос:

У меня есть контроллер Spring с такой подписью

public ResponseEntity<blabla> find(@RequestParam Long id, @RequestParam Long version, @RequestParam CheckedItemType type)

Я пытаюсь выполнить http-запрос с Jmeter, устанавливающим третий параметр как: type=0 text / plain, и я получаю код ошибки 400, потому что контроллер не может преобразовать строку в CheckedItemType.

Есть идеи о том, как я могу это решить?

Комментарии:

1. JMeter просматривает только трафик, проходящий по проводам [то, что вы получаете в Wireshark или аналогичных сетевых анализаторах]. Вы просматриваете это на уровне прикладного уровня. Пожалуйста, поделитесь из других инструментов, как выглядит тело вашего запроса, когда оно доставляется по проводам.

Ответ №1:

Вот пример:

 public enum Modes {
    ALPHA, BETA;
}
  

Преобразователь строки в перечисление:

 public class StringToEnumConverter implements Converter<String, Modes> {

    @Override
    public Modes convert(String from) {
        return Modes.valueOf(from);
    }
}
  

Зарегистрируйте наш конвертер:

 @Configuration
public class WebConfig implements WebMvcConfigurer {


  @Override
  public void addFormatters(FormatterRegistry registry) {
       registry.addConverter(new StringToEnumConverter());
  }
}
  

Комментарии:

1. есть ли способ сообщить Jmeter отправить что-то, что будет рассматриваться как int вместо строки? Конечная точка, которую я показал, работает в рабочей среде, это просто интеграция с Jmeter, которая выдает эту ошибку