簡體   English   中英

來自 JavaScript 的 REST 資源調用

[英]REST resource call from JavaScript

我有一個 Web 應用程序,其 JS 代碼如下(模型使用 Backbone.JS);

var StudentDemographic = BaseModel.extend({
        idAttribute: 'studentId',
        url: 'api/list/student/demographic',
        urlRoot: 'api/list/student/demographic',
        defaults: {
                gender: null,
                age: null,
                dob: null,
        }
});

現在,有一個對 Java (REST resource) 的調用,我無法理解它是如何被准確調用的。 Java 代碼(REST 資源)看起來像;

@Path("/list")
public class StudentListResource extends BaseResource {

@GET
@Path("/student/demographic")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
@Override
public StudentDemographic getStudentDemographic(@QueryParam("StudentId") String StudentId) {
}

}

我的問題是對 api/list/student/demographic 的 JS 調用與相應的 Java 方法之間的映射到底如何。 是由 Java 庫在內部處理還是我需要在我的項目中查找一些配置? (我是前端開發,所以對這個后端集成不是很清楚)。

此外,我很想了解 Java 代碼中的行 @GET、@PUT、@Override 等(比如它們的含義)。

看起來像 REST 應用程序。

映射由您的 Web 應用程序容器(Java EE/Spring/...)完成,具體配置可能會有所不同。 基本映射定義由@Path 注釋完成(這里的 StudentListResource 類處理到 /list 的請求,具體方法 getStudentDemographic 然后處理“相對 URL”/student/demographic,因此一起處理 /list/student/demographic。這個 URL 是相對的到您的 Web 應用程序,我假設它被稱為“api”(或至少映射到 /api/**)

@GET 注釋只是說它只處理 HTTP GET 請求,類似@PUT、@POST 等

@Consumes 和 @Produces 指定輸入和輸出預期為 JSON,然后映射到 Java 對象,方法的輸入取自查詢(@QueryParam)

@Override 只是 java 語言注解,表示該方法是從超類中重寫的,但對映射沒有特殊意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM