日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

带有AngularJS资源的Spring Rest Controller

發布時間:2023/12/3 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 带有AngularJS资源的Spring Rest Controller 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Angularjs ngResource是用于與基于REST的服務進行交互的angularjs模塊。 我最近在Spring MVC的一個小型項目中使用了它,并希望記錄一個對我來說很好的配置。

該控制器在工廠中運行,它支持在Hotel實體上進行CRUD操作,并支持以下方法:

  • POST / rest / hotels –創建一個酒店實體
  • GET / rest / hotels –獲取酒店實體列表
  • GET / rest / hotels /:id –檢索具有指定ID的實體
  • PUT / rest / hotels /:id –更新實體
  • DELETE / rest / hotels /:id –刪除具有指定ID的實體

可以使用Spring MVC通過以下方式實現:

@RestController @RequestMapping("/rest/hotels") public class RestHotelController {private HotelRepository hotelRepository;@Autowiredpublic RestHotelController(HotelRepository hotelRepository) {this.hotelRepository = hotelRepository;}@RequestMapping(method=RequestMethod.POST)public Hotel create(@RequestBody @Valid Hotel hotel) {return this.hotelRepository.save(hotel);}@RequestMapping(method=RequestMethod.GET)public List<Hotel> list() {return this.hotelRepository.findAll();}@RequestMapping(value="/{id}", method=RequestMethod.GET)public Hotel get(@PathVariable("id") long id) {return this.hotelRepository.findOne(id);}@RequestMapping(value="/{id}", method=RequestMethod.PUT)public Hotel update(@PathVariable("id") long id, @RequestBody @Valid Hotel hotel) {return hotelRepository.save(hotel);}@RequestMapping(value="/{id}", method=RequestMethod.DELETE)public ResponseEntity<Boolean> delete(@PathVariable("id") long id) {this.hotelRepository.delete(id);return new ResponseEntity<Boolean>(Boolean.TRUE, HttpStatus.OK);} }

注意@RestController批注,這是Spring Framework 4.0引入的新批注,在控制器上指定了此批注,可以避免每個方法上的@ResponseBody批注。

在angularjs端,可以通過以下方式在工廠中配置ngResource模塊以使用此服務:

app.factory("Hotel", function ($resource) {return $resource("/rest/hotels", {id: "@id"}, {update: {method: 'PUT'}}); });

默認配置的唯一更改是使用PUT的Http方法而不是POST指定附加的“ update”操作。 進行此更改后,可以通過以下方式訪問REST API:

POST / rest / hotels轉換為:

var hotel = new Hotel({name:"test",address:"test address", zip:"0001"}); hotel.$save();

或其他的變化形式:

Hotel.save({}, {name:"test",address:"test address", zip:"0001"});

GET / rest / hotels轉換為:

Hotel.query();

GET / rest / hotels /:id轉換為:

Hotel.get({id:1})

PUT / rest / hotels /:id轉換為:

var hotel = new Hotel({id:1, name:"test",address:"test address", zip:"0001"}); hotel.$update();

DELETE / rest / hotels /:id轉換為:

var hotel = new Hotel({id:1}); hotel.$delete();

要么

Hotel.delete({id:1});

要處理成功和失敗的結果,只需傳入其他回調處理程序即可:

例如 與創建:

var hotel = new Hotel({name:"test",address:"test address", zip:"0001"}); hotel.$save({},function(response){//on success }, function(failedResponse){//on failure });
  • 可以在以下github位置獲得帶有angularjs和Spring MVC的完整CRUD工作示例:https://github.com/bijukunjummen/spring-boot-mvc-test/tree/withangular

翻譯自: https://www.javacodegeeks.com/2014/05/spring-rest-controller-with-angularjs-resource.html

總結

以上是生活随笔為你收集整理的带有AngularJS资源的Spring Rest Controller的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。