使用Retrofit创建自定义DELETE方法

时间:2015-10-28 17:22:22

标签: android retrofit okhttp

我在使用正文执行删除请求时遇到问题。我在OkHttp 2.2中使用Retrofit 1.9。

所以我找到了一个解决方案here和其他人给出相同的解决方案,即创建一个这样的自定义删除方法:

@Target(METHOD)
@Retention(RUNTIME)
@RestMethod(hasBody = true, value = "DELETE")
public @interface CustomDelete {
    String value();
}

我在API界面中添加了此代码(包含请求我的API的所有方法)。

但Android Studio无法解析符号METHOD和RUNTIME。我不知道要包括什么才能使用它。

如果有人能帮助我弄清楚,解释会很棒。 与此同时,我一直在互联网上寻找解决方案(然后在这里分享)。

1 个答案:

答案 0 :(得分:1)

@Target& @Retention在Android SDK中的java.lang.annotation

下声明
public @interface Target {
    /**
     * Returns an array of the kinds of elements an annotation type
     * can be applied to.
     * @return an array of the kinds of elements an annotation type
     * can be applied to
     */
    ElementType[] value();
}


public @interface Retention {
    /**
     * Returns the retention policy.
     * @return the retention policy
     */
    RetentionPolicy value();
}

从源代码开始,@ Target接受ElementTypes,@ Retention接受RetentionPolicy。

https://developer.android.com/reference/java/lang/annotation/ElementType.html https://developer.android.com/reference/java/lang/annotation/RetentionPolicy.html

试试这个

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)