简体   繁体   English

Http 客户端出现无法识别的字段错误

[英]Unrecognized field error with Http Client

I am trying to make a get request to server via HttpClient and I am getting Unrecognized field my code below;我正在尝试通过 HttpClient 向服务器发出获取请求,并且我在下面的代码中得到了 Unrecognized 字段;

My Controller我的控制器

 public interface ReadCaseByCaseNumberController {
    
 @GetMapping("/case")
       ResponseEntity<ReadCaseByCaseNumberResponse> getReadCaseByCaseNumberResponse(@RequestParam("caseNumbers") String caseNumbers) throws IOException, URISyntaxException;

}

My Controller Impl我的控制器实现

 @Override
    public ResponseEntity<ReadCaseByCaseNumberResponse> getReadCaseByCaseNumberResponse(String caseNumbers) throws IOException, URISyntaxException {

        return ResponseEntity.ok(readCaseByCaseNumberService.getReadCaseByCaseNumberResponse(caseNumbers));

    }

My Service我的服务

ReadCaseByCaseNumberResponse getReadCaseByCaseNumberResponse(String caseNumbers) throws IOException, URISyntaxException; ReadCaseByCaseNumberResponse getReadCaseByCaseNumberResponse(String caseNumbers) 抛出 IOException,URISyntaxException;

My Service Impl我的服务实现

@Value("${servce.urlBasePath}")
private String urlBasePath;

@Value("${service.getCaseByCaseNumberPath}")
private String getMessageByCaseNumberURL;

     public ReadCaseByCaseNumberResponse getReadCaseByCaseNumberResponse(String caseNumbers) throws IOException, URISyntaxException {
    
            CloseableHttpClient client = HttpClients.createDefault();
    
            URIBuilder builder = new URIBuilder();
            builder.setHost(urlBasePath);
            builder.setPath(getMessageByCaseNumberURL);
            builder.setScheme("https");
            builder.setParameter("caseNumbers", caseNumbers);
    
            HttpGet httpGet = new HttpGet(builder.build());
    
            httpGet.setHeader(Constant.API_KEY, Constant.API_KEY_VALUE);
            httpGet.setHeader(Constant.AUTHORIZATION_KEY, Constant.AUTHORIZATION_VALUE);
            httpGet.setHeader(Constant.CONTENT_TYPE, Constant.CONTENT_TYPE_VALUE);
    
  
            CloseableHttpResponse response = client.execute(httpGet);
    
            ObjectMapper mapper = new ObjectMapper();
    
            ReadCaseByCaseNumberResponse readCaseByCaseNumberResponse = mapper.readValue(EntityUtils.toString(response.getEntity()), ReadCaseByCaseNumberResponse.class);
    
            client.close();
    
            return readCaseByCaseNumberResponse;

my Response class below;我在下面的响应类;

@Data
public class ReadCaseByCaseNumberResponse {

    private String id;
    private Integer caseNumber;
    private String subject;
    private String description;
    private Integer version;
    private String status;
    private String priority;

Looks like RequestParam annotation inheirtance was not available till Spring MVC 5.1.0.BUILD-SNAPSHOT (see link below).看起来 RequestParam 注释继承在 Spring MVC 5.1.0.BUILD-SNAPSHOT 之前不可用(请参见下面的链接)。 So, if possible, upgrade Spring version, otherwise put RequestParam annotation on implementation class因此,如果可能,升级 Spring 版本,否则将 RequestParam 注释放在实现类上

Checkout this question: Spring @RequestParam and controller interface检查这个问题: Spring @RequestParam and controller interface

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Java Http客户端-无此类字段错误 - Java Http Client - No Such Field Error 用Jackson进行反序列化时出现无法识别的现场错误 - Unrecognized Field error in deserialization with Jackson 构建失败,出现 UnrecognizedPropertyException: Unrecognized field<section> 错误</section> - Build failed with UnrecognizedPropertyException: Unrecognized field <Section> error keycloak错误:无法识别的字段“access_token” - keycloak error : Unrecognized field “access_token” Java \\ JSON:UnrecognizedPropertyException:无法识别的字段“ CefMessagesGenerators”错误 - Java\JSON: UnrecognizedPropertyException: Unrecognized field “CefMessagesGenerators” error 将 dropwizard 项目部署到 heroku 时,yaml 中的“无法识别的字段:http” - “Unrecognized Field: http” in yaml when deploying dropwizard project to heroku configuration.yml出现错误:* driverClass-DROPWIZARD中的无法识别的字段 - configuration.yml has an error: * Unrecognized field at: driverClass - DROPWIZARD 错误:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段 - error :com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field HTTP响应无法识别的文本 - HTTP response unrecognized text HTTP客户端PUT请求错误 - HTTP client PUT request error
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM