˜q™ä¸¤å¤©å¦ä¹ RESTåŠå…¶java实现框架Restlet.
å…¯‚±¡çжæ€ä¼ 输(Representational state transferåQ?z>RESTåQ‰æ˜¯è®¾è®¡åŸÞZºŽå‘½å资æºè€Œéžæ¶ˆæ¯çš„æ¾è€¦åˆåº”用½E‹åºçš„一¿Ué£Žæ ¹{€‚æž„å»? RESTful 应用½E‹åºçš„æœ€å›°éš¾çš„部分在于确定è¦å…¬å¼€å“ªäº›èµ„æº.个ähè®¤äØ“å®ƒè·ŸDDDè”系的很紧密åQŒç‰¹åˆ«æ˜¯RESTä¸çš„“资溔åQŒæˆ‘个ähç†è§£å®ƒå°±æ˜¯ä»Žé¢†åŸŸæ¨¡åž‹ä¸çš„æ¨¡åž‹è€Œæ¥çš„ã€?br />我们先æ¥çœ‹ä¸€ä¸‹restlet core apiå§ï¼š
Overview of a Restlet architecture
Here is a diagram illustrating how the API composes components, connectors, virtual host and applications. Applications are in turncomposed of resources.

用白说æ¥è®²å°±æ˜¯ï¼šApplication通过Router ž®†æŸä¸ªURI与Resource¾l‘定在一定,而一个componetå¯èƒ½å«æœ‰å¤šä¸ªApplication,
˜q˜æœ‰Representation ˜q™ä¸ª¾cÕd…¶å®žä¹Ÿå¾ˆé‡è¦ã€?/z>Representation entityåQ?/span>Restletä¸å…¨éƒ¨çš„æŽ¥å—和返回对象都Representation¾cÈš„åç±»ã€?/span>
如在WEB APPä¸ç»å¸”Rœ€è¦ä»Žä¸€ä¸ªFORM䏿‹¿åˆ°å…¶Representation(getWebRepresentation()
)或组装æˆä¸€ä¸?/font>Representation
Form(Representation webForm)
,以便客户端与æœåŠ¡å™¨è¿›è¡Œäº¤äº’ã€‚æˆ‘ä»¬çŸ¥é“REST是以资æºä¸ÞZ¸å¿ƒçš„åQŒä¸€ä¸ªURIž®×ƒ»£è¡¨äº†å¯¹è¿™ä¸ªèµ„æºçš„CURDæ“作。@Path˜q™ä¸ªæ³¨è§£ææ˜Žäº?/z>
哪个æ“作是由该资æºçš„那个æ–ÒŽ(gu¨©)³•æ¥å®žçŽ°çš„å¦?
@POST
@Path("add")
public String addStudent(Representation entity) {
}
...
@DELETE
@Path("delete/{id}")
public String deleteStudent(@PathParam("id") int id) {
int status = ResourceHelper.deleteStudent(id);
return String.valueOf(status);
}
representation package overriew:
Restlet 对表现层的技术支æŒä¹Ÿž®±æ˜¯é€šæ¥representation˜q™ä¸ª¾cÀL¥å®žçŽ°çš„ï¼Œrepresentation
Restletòq¶æ²¡æœ‰ä½ Setvlet APIé‚£æ ·æœ‰è‡ªå·²çš„JSP作表现的技术,它是通过ž®†è¿™ä¸‰ç§æ¨¡æ¿æŠ€æœ¯æ•´åˆè“væ¥è€Œå·²å¦?/z> : XSLT, FreeMarker and Apache Velocity
The org.restlet.representation package contains common representation data elements. Here is a hierarchy diagram with the core Representation classes:
Overview Representation package

当然restlveåªæ˜¯æä¾›äº†ä¸€ä¸ªå…¥å£ï¼Œ¼„°åˆ°è¦å¯¹æ•°æ®åº“è¿›è¡?z>CURDæ“作æ—Óž¼ŒåŸºå…·ä½“实现还是由JDBC½{‰æŠ€æœ¯æ¥å®žçް.

]]>