我想在Rails应用程序中的视图中创建一个链接来执行此操作...
DELETE /sessions
Run Code Online (Sandbox Code Playgroud)
我该怎么做
添加了复杂功能:
"会话"资源没有模型,因为它代表用户登录会话.CREATE表示用户登录,DESTROY表示注销.
这就是为什么URI中没有ID参数.
我正在尝试在UI中实现"注销"链接.
我在一个j2ee项目(pojo层,Dao层(hibernate),服务层(spring),View(spring mvc))工作我有一个文章表,每行后我想添加一个链接来删除它.
这是我的看法
<c:if test="${!empty articles}">
<table>
<tr>
<th>Article ID</th>
<th>Article Name</th>
<th>Article Desc</th>
<th>Added Date</th>
<th>operation</th>
</tr>
<c:forEach items="${articles}" var="article">
<tr>
<td><c:out value="${article.articleId}"/></td>
<td><c:out value="${article.articleName}"/></td>
<td><c:out value="${article.articleDesc}"/></td>
<td><c:out value="${article.addedDate}"/></td>
<td><a href="articles/${article.articleId}">delete</a></td>
</tr>
</c:forEach>
</table>
Run Code Online (Sandbox Code Playgroud)
这是要删除的控制器
@RequestMapping(value="/articles/{articleId}", method=RequestMethod.POST)
public String deleteContact(@PathVariable("articleId")
Integer articleId) {
articleService.removeArticle(articleId);
return "redirect:/articles.html";
}
Run Code Online (Sandbox Code Playgroud)
这是服务层
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public void removeArticle(Integer id) {
articleDao.removeArticle(id);
}
Run Code Online (Sandbox Code Playgroud)
这是Dao层(我试图找到文章然后删除它)
public void removeArticle(Integer id) {
//to get the article
Article article = (Article) sessionFactory.getCurrentSession().load(
Article.class, id);
if …Run Code Online (Sandbox Code Playgroud) 所以...
我一直在阅读有关REST的内容,其背后的想法听起来不错,但问题是,它是否可以轻松集成到网页的标准流程中?
例如,用户创建某种项目,博客文章或您拥有的内容,现在他想删除它,因此他点击页面上的"删除"链接.怎么办?比方说,我们如何发出DELETE请求http://mysite.com/posts/5?我们如何处理这个请求?我没有使用cURL或任何东西的经验,但从它的外观来看,我将不得不curl_init('http://mysite.com/posts/5')工作一些魔法.但是我甚至会把那个剧本放在哪里?那必须在另一个页面上,这将打破REST的整个想法.那我就是GET另一个页面,这又DELETE是我原本想要的页面?
这就是为什么人们很少使用REST或实际上有一个很好的方法来做到这一点?
看起来我需要澄清一下.人们建议我在URL中加入"DELETE"和"POST"等字样.我相信REST规定我们为每个资源都有一个唯一的URL,但对于该资源上的每个操作都没有.我认为这也意味着我们每个资源只有一个且只有一个 URL.即我希望能够从一个 URL 删除或查看特定帖子的内容(通过发送DELETE,PUT,POST或GET),而不是具有其他参数的不同URL