2

私はSpring 3.1.0を初めて使用し、WebアプリケーションおよびWebサービスとして公開できるアプリケーションを作成しようとしています。を使用してフォームオブジェクトを送信している POST の場合@ModelAttribute。また、任意のポスターを通じて、XML と同じオブジェクトを使用できるこのメソッドを公開したいと考えています。

両方@ModelAttribute@RequestBody一緒に使用しますか。私はすでに@RequestMapping注釈に消費プロパティを追加しました。

4

1 に答える 1

1

フォームを送信すると、データはフォーム エンコードされた形式で送信され、XML/JSON を使用すると、本体の文字列として送信されます。すべての共通ロジックを中間サービス層に配置し、コントローラーで呼び出すことをお勧めします。その結果、フォームを含む既存の HTML ページの上に REST サービスを簡単に構築できます。

public class Service {
    public void registerUser(User user){
    }
}

@RequestMapping("users")
public class FormController{
    @Autowired private Service service;

    @RequestMapping("register")
    public ModelAndView registerUser(@ModelAttribute User user){
        service.registerUser(user);
    }
}

@RequestMapping("service/v1")
public class RESTController{
    @Autowired private Service service;

    @RequestMapping("users/register")
    public ModelAndView registerUser(@RequestBody User user){
        service.registerUser(user);
    }
}

実際には、これを 1 つのコントローラーに入れることもできます。

于 2013-07-29T12:43:40.977 に答える