JavaのバージョンB2B2Cのソーシャル電気の供給春の雲分布するマイクロ・サービス(e)は、RESTfulなAPIを構築します

まず、見直し、@コントローラ、@ RestController、@ RequestMappingコメント内のクイックスタートの精巧な使用。あなたはSpring MVCのに慣れていないとクイックスタートのケースを試していない場合は、私は、クイックスタートの内容を見てお勧めします。

@Controller:修正クラスは、オブジェクトハンドルhttpリクエストの作成に使用
@RestController:直接使用@RestController代替@Controllerを設定する必要がない場合はSpring4はもともと@ControllerでJSONで返された注釈を追加した後、@ResponseBodyが一致する必要がありますが@ responseBody、デフォルトの戻りJSON形式。
@RequestMapping:URLマッピングの設定
ここでは、ユニットテストを書く方法、パラメータを渡す方法を、どのようにSpring MVCのHTTPリクエスト詳細に注釈マップで、ユーザーオブジェクトへの一連の操作を実装するためのSpring MVCのRESTful APIを使用するようにしてください。

次のようにRESTfulなAPIは、特別に設計します:

ここに画像を挿入説明
ユーザー定義エンティティ:

public class User { 
 
    private Long id; 
    private String name; 
    private Integer age; 
 
    // 省略setter和getter 
     
}

ユーザーインターフェイスオブジェクトの動作を実現

@RestController 
@RequestMapping(value="/users")     // 通过这里配置使下面的映射都在/users下 
public class UserController { 
 
    // 创建线程安全的Map 
    static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long, User>()); 
 
    @RequestMapping(value="/", method=RequestMethod.GET) 
    public List<User> getUserList() { 
        // 处理"/users/"的GET请求,用来获取用户列表 
        // 还可以通过@RequestParam从页面中传递参数来进行查询条件或者翻页信息的传递 
        List<User> r = new ArrayList<User>(users.values()); 
        return r; 
    } 
 
    @RequestMapping(value="/", method=RequestMethod.POST) 
    public String postUser(@ModelAttribute User user) { 
        // 处理"/users/"的POST请求,用来创建User 
        // 除了@ModelAttribute绑定参数之外,还可以通过@RequestParam从页面中传递参数 
        users.put(user.getId(), user); 
        return "success"; 
    } 
 
    @RequestMapping(value="/{id}", method=RequestMethod.GET) 
    public User getUser(@PathVariable Long id) { 
        // 处理"/users/{id}"的GET请求,用来获取url中id值的User信息 
        // url中的id可通过@PathVariable绑定到函数的参数中 
        return users.get(id); 
    } 
 
    @RequestMapping(value="/{id}", method=RequestMethod.PUT) 
    public String putUser(@PathVariable Long id, @ModelAttribute User user) { 
        // 处理"/users/{id}"的PUT请求,用来更新User信息 
        User u = users.get(id); 
        u.setName(user.getName()); 
        u.setAge(user.getAge()); 
        users.put(id, u); 
        return "success"; 
    } 
 
    @RequestMapping(value="/{id}", method=RequestMethod.DELETE) 
    public String deleteUser(@PathVariable Long id) { 
        // 处理"/users/{id}"的DELETE请求,用来删除User 
        users.remove(id); 
        return "success"; 
    } 
 
}

春の雲のB2B2C、eコマース、ソーシャルプラットフォームのソースコード、ペンギンBEGを追加してください。3 4 5 6 3 II気II五十から九

おすすめ

転載: blog.csdn.net/qq_42748864/article/details/93891172