使用spring进行改进,声明了一个typedfile参数但需要一个MultiPartfile Param

时间:2014-08-25 15:19:26

标签: spring spring-mvc retrofit

我是初次改造和弹簧的新手,我在实施过程中遇到了错误:

我有一个声明如下的接口:

public interface ImageApi {

  @Multipart
  @POST("/image/{id}/data")
  public boolean setImageData(@Path("id") long id, @Part("data") TypedFile imageData);

}

实现ImageApi接口的弹簧控制器:

public class ImageController implements ImageApi {

  @RequestMapping(value="/image/{id}/data")
    public @ResponseBody boolean setImageData(@PathVariable long id, MultipartFile  imageData) {
        ...
    }
}

编译器显示错误,因为我有一个类型为MultipartFile的变量“imageData” 在控制器中,但需要一个TypedFile变量。但是,这些示例具有这种实现形式。

请告诉我,我做错了什么?

1 个答案:

答案 0 :(得分:1)

您只需删除'实施ImageApi'来自控制器。

接口使用Retrofit注释进行注释,以便与服务进行通信(从客户端)。

控制器(在服务器端)必须支持接口描述的HTTP API,但不应该在Java意义上实现这个接口' (你不应该让ImageController实现ImageApi)。