2016-04-22 14 views
0

サービスに問題があります。私はSpringのコントローラにangiallyから$ http.getを送付していますが、次のエラーがあります:リクエストされたパーティがリクエストされたメソッドでリクエストされたリソースでサポートされていないフォーマットであるため、エラー415. Spring-AngularJsによるサービスREST

コントローラー:

@Controller 
public class PersonController { 

    @Autowired 
    private PersonService personService; 


    @RequestMapping(value = "/person", consumes = {"application/json;charset=UTF-8"}, produces={"application/json;charset=UTF-8"}, method = RequestMethod.GET) 
    public @ResponseBody List<Person> listPersons_() { 
     return this.personService.listPersons(); 
    } 
... 

角度サービス:

function get($scope, $http) { 
     $http.get('person'). 
      success(function(data) { 
       $scope.greeting = data; 
      }); 
    } 
... 

スクリーンショット: Console

ヘッダー: Headers

+0

ajaxの作成中に '/'&controller nameが見つからないようです。 '$ http.get( '/ Person/person')' –

+0

は大丈夫です。私はコンソールをチェックしました –

+0

あなたのスクリーンショットをここに置くことができますか? – urvashi

答えて

0

まあ、...(消費して生産する)属性を取り除いた後、私はエラー406を受け取り、Jackson-databinライブラリを追加する必要があると感じました。それは働いた。

コントローラー:

@Controller 
public class PersonController { 

    @Autowired 
    private PersonService personService; 


    @RequestMapping(value = "/person", method = RequestMethod.GET) 
    public @ResponseBody List<Person> listPersons_() { 
     return this.personService.listPersons(); 
    } 
... 

依存関係:

<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.3.0</version> 
</dependency> 

どうもありがとうございました。

1

HTTPエラーに関しては、Spring MVCのデフォルトではあまり冗長ではありません。あなたができることは、パッケージorg.springframework.webのログレベルをDEBUGに上げて、415エラーのより良い説明を得ることができます。

運が良かった!

ダニエル

1

私はあなたがそれらのproduces/consumesヘッダを必要とは思いません。私はAngularJSはあなたと同じサービスを提供持っていた非常に類似したアプリケーションを開発していたが、それは春の終わりに相対的に非常に簡単だった:

// List All Employees 
@RequestMapping(value = "/employee/all", method = RequestMethod.GET) 
public AllEmployeesResponse listAllEmployees() { 

    return empService.listAll(); 
} 

は私が持っていたすべてがEmployeeオブジェクトのリストを含むAllEmployeesResponse目的でした。

jsonはそれ自身を世話しました。あなたがお持ちでない場合は、@EntityクラスにSerializableを実装しているかどうかを確認してください。

また、私のものは、@Controllerの代わりに@RestControllerでした。

関連する問題