@Test
  void customObjectDecoder() throws Exception {
    final JsonAdapter<VideoGame> videoGameJsonAdapter =
        new Moshi.Builder().build().adapter(VideoGame.class);

    MoshiDecoder decoder = new MoshiDecoder(Collections.singleton(videoGameJsonAdapter));

    VideoGame videoGame = new VideoGame("Super Mario", "Luigi", "Bowser");

    Response response =
        Response.builder()
            .status(200)
            .reason("OK")
            .headers(Collections.emptyMap())
            .request(
                Request.create(
                    Request.HttpMethod.GET, "/api", Collections.emptyMap(), null, Util.UTF_8))
            .body(videoGamesJson, UTF_8)
            .build();

    VideoGame actual = (VideoGame) decoder.decode(response, videoGameJsonAdapter.getClass());

    assertThat(actual).isEqualToComparingFieldByFieldRecursively(videoGame);
  }
Enabled via {@link feign.Feign.Builder#dismiss404()}
moshi/src/test/java/feign/moshi/MoshiDecoderTest.java