【问题标题】:How do I annotate on an interface in java?如何在java中的接口上注释?
【发布时间】:2021-01-22 05:19:18
【问题描述】:

我正在尝试创建带有注释的接口,但是,当我尝试创建注释时,我收到了Annotations are not allowed here。我不明白为什么我会收到这个,因为我正在关注一个做完全相同的事情的教程,并且它在教程中有效。这似乎是一个愚蠢的问题,但我是编程新手,我已经尝试研究为什么我会收到这个问题,但没有发现任何可以回答我的问题。那么有人可以向我解释为什么我不能在我的界面中注释吗?

package com.myapp.groceryapp;

import retrofit2.http.Headers;
import retrofit2.http.Body;
import retrofit2.http.POST;

public interface APIService {

   @Headers(
          {
                "Content-Type:application/json",
                "Authorization:AAAAwg8PTZg:APA91bEY2M- 
   GHRhnKptu3VuNaRK3daxSdLf1S8p5ltF8wCvQ5ylGFmSXNCeXnTfymzN5VqWpucoYn8T6wq2ffR6i45sFRO2GE7"
          }
 )

   @POST ("fcm/send")
}

【问题讨论】:

  • 您现在在界面内只有注释。注释必须始终放在某物之上——例如在一个类之上,或者在一个方法之上。你不能有没有附加到任何东西的注释,就像你在这里所做的那样。再看一遍教程,教程和你做的有区别(如果真的没有区别,说明教程有误)。

标签: java android interface annotations


【解决方案1】:

您应该在接口内注释函数。 例如:

 @Headers(
          {
                "Content-Type:application/json",
                "Authorization:AAAAwg8PTZg:APA91bEY2M- 
   GHRhnKptu3VuNaRK3daxSdLf1S8p5ltF8wCvQ5ylGFmSXNCeXnTfymzN5VqWpucoYn8T6wq2ffR6i45sFRO2GE7"
          }
 )

   @POST ("fcm/send")
Call<playlist> func(@Body fooParam param);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-13
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2018-05-13
    相关资源
    最近更新 更多