如何发出以Enum作为请求参数的Jmeter HTTP请求?

时间:2019-03-04 17:30:46

标签: spring spring-mvc jmeter

我有一个带有此签名的Spring Controller

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

我正在尝试使用Jmeter将第三个参数设置为的http请求: type = 0 text / plain,我得到一个400错误代码,原因是控制器无法将字符串转换为CheckedItemType。

关于如何解决这个问题的任何想法吗?

1 个答案:

答案 0 :(得分:0)

这里是一个例子:

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());
  }
}