У jsonrpc4j v1.5.0 (и позже) отсутствует тело ответа для ошибок

Во время нашего обычного обновления зависимостей я обновил jsonrpc4j с 1.4.6 до 1.5.3, но это привело к тому, что тело ответа исчезло из-за любых ошибок. Это произошло и в 1.5.0.

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

  • Вызов JsonRpcServer.handleRequest0 появился в 1.5.0

  • Журналы нашего сервера показывают, что JsonRpcServer генерирует исключение RunTimeException (оборачивая реальное исключение), поскольку переменная rethrowExceptions имеет значение true. Тем не менее, этот журнал не появляется для v1.4.6.

  • Для rethrowExceptions установлено значение true в нашей конфигурации AutoJsonRpcServiceImplExporter. Я установил значение false и получил разные результаты (статус и тело) для обеих версий:

    rethrowExceptions |    v1.4.6      |    v1.5.0  
    true              |  400 with body | 400 w/o body 
    false             |  500 with body | 200 with body  
    

Я хотел бы разобраться в этом и понять, почему тело ответа пропало.

Любая помощь приветствуется.

0 ответов

Другие вопросы по тегам