1
RESTFUL WEB SERVICE VÀ WEB API
Tóm tt lý thuyết
2
3
4
XÂY DNG WEB API
Bài thc hành mu
B1. Trước tiên ta tạo cơ sở d liu CSDLTest gm 2 bng:
+ Đăng nhập Windows Authentication đ to CSDLTest
- DanhMuc(MaDanhMuc - int, TenDanhMuc-nvarchar(20))
- SanPham(Ma - int, Ten nvarchar(20), DonGia - int, MaDanhMuc - int)
+ Nhp d liu cho 2 bng
(To các bng bng Click chut Nếu to các bng bng code query analys thì xem
chú ý cui bài).
B2. To tài khoản đăng nhập SQL Server: SQL Server Authentication
+ Click chut phi vào logins, chn New Login
+ General:
- Login name: abc
- Chn SQL Server Authentication: pass:123456, repass
- B chn policy
+ Server Roles:
- Chn: sysadmin
+ Use mapping: chn CSDLTest
+ Sau khi to xong Login mi:
=>Disconnect vi Windows Authentication
=>Đăng nhập li: reconnect
(Nếu có li sau thì phi sa li theo hướng dn)
5
Xli login vi account Authentication SQL Server:
Đăng nhập li vi Windows Authentication mode như ban đầu:
Chn Property cho mc tên Server MAY321\SQLEXPRESS
Click ok, ch 1 lát:
=>Click OK.
Tìm This PC, click chuột phải, Chọn thuộc tính Manage, Mở Services: Ấn S để tìm thấy
SQL EXPRESS:
6
Click o nút xanh phía trên để Restart.
Disconect SQL Server và đăng nhập SQL vi user abc va to => OK
7
B3. Khởi động Visual Studio, Chn Asp.net Web Application
Chn Empty và check web API
B4. To model: Models, Add ->New Item->Data->ADO.Net Entity Data Model, đt
tên cho Model:
8
=> Kết ni Model ti CSDL:
- Chn New connection
- Ly server name t SQL Server, kết ni dng sql Server Authentication (vi User
name:abc; Pass:123456)
- Nó sinh ra 1 entities framework
9
- Chn hết các bng
10
- Models sinh ra:
B5. To các lp controllers: SanPham, DanhMuc
- Chn Web API 2 Empty
- Đặt tên cho các Controller
11
- ơng tự to Controller cho bng DanhMuc
B6. To các Web API
12
13
B7. Chy th các Web API (vi [HttpGet])
B8. Cài đặt các Web API lên IIS Web Server
B8.1. Cài đặt IIS
14
+ Vào Control panel chn Programs and Features
+ Chn Turn Windows features on or off:
+ Tiến hành la chọn để cài IIS Web Server theo màn hình dưới đây:
15
B8.2. Cài đặt Web API lên IIS Web Server
+ Sau khi cài xong IIS Web Server, bn quay li màn hình Control panel, bn s thy
Administrative Tools:
+ Ta click vào biểu tượng Administrative Tools, ta có giao din tiếp theo:
16
+ Ta chọn “Internet Information Services (IIS) Manager” như hình trên:
Trong màn hình qun tr bn thy có 2 vùng: Application Pools và Default Web site.
+ Cu hình Application Pools:
Ta bm chut phi vào mc Application Pools/ chn Add Application Pool…
Màn hình to mi Application Pool hin th lên, ta nhp “testpool” rồi bm OK:
Sau khi bm OK, bn quan sát:
17
màn hình trên bn tiếp tc chn Advanced Settings.. cho testpool:
Bn cn chnh ApplicationPoolIdentity qua LocalSystem.
+ Cu hình WebService lên IIS Server
- Bm chut phi vào Default Web Site / chn Add App
18
- Màn hình hin th Add Application:
- Mục Alias (1): Đặt tên cho Service, đây ta đặt hocrestful
- Mc Application pool (2): Nhấn nút Select… và chọn đúng testpool
- Mc Physical path (3): Tr tới đường dn cha source code ca project
Sau đó bấm OK để to, ta quan sát kết qu:
- Ta mở 1 trình duyệt bất kỳ, chạy dòng lệnh sau (hoặc chọn hocrestful, click vào
http://localhost/hocrestful/api/sanpham
- Quan sát kết quả:
19
http://localhost/hocrestful/api/sanpham chính kết qu sau khi cu hình xong. Ti
đây hệ thống đã chạy 24/24.
Nếu có li và không tr li kết qu XML, ta cần đổi li cng:
Là do có một chương trình o đó đã dùng cổng 80. Chúng ta chnh li cng cho IIS như sau:
Click vào Default Web Site, chn o mc Bindings… bên phi, phía trên:
20
Remove tt c các cng và ch gi li 1 cng 8000
Sau đó Click o Edit, sa thành cng 90, OK:
Chy li Web API: quan sát link có localhost:90
Nếu đổi li cng 90 ri mà vn lỗi thì Click nút “Start” như sau:

Preview text:

RESTFUL WEB SERVICE VÀ WEB API
Tóm tắt lý thuyết 1 2 3 XÂY DỰNG WEB API
Bài thực hành mẫu
B1. Trước tiên ta tạo cơ sở dữ liệu CSDLTest gồm 2 bảng:
+ Đăng nhập Windows Authentication để tạo CSDLTest
- DanhMuc(MaDanhMuc - int, TenDanhMuc-nvarchar(20))
- SanPham(Ma - int, Ten – nvarchar(20), DonGia - int, MaDanhMuc - int)
+ Nhập dữ liệu cho 2 bảng
(Tạo các bảng bằng Click chuột – Nếu tạo các bảng bằng code query analys thì xem chú ý cuối bài).
B2. Tạo tài khoản đăng nhập SQL Server: SQL Server Authentication
+ Click chuột phải vào logins, chọn New Login + General: - Login name: abc
- Chọn SQL Server Authentication: pass:123456, repass - Bỏ chọn policy + Server Roles: - Chọn: sysadmin
+ Use mapping: chọn CSDLTest
+ Sau khi tạo xong Login mới:
=>Disconnect với Windows Authentication
=>Đăng nhập lại: reconnect
(Nếu có lỗi sau thì phải sửa lỗi theo hướng dẫn) 4
Xử lý lỗi login với account Authentication SQL Server:
Đăng nhập lại với Windows Authentication mode như ban đầu:
Chọn Property cho mục tên Server MAY321\SQLEXPRESS Click ok, chờ 1 lát: =>Click OK.
Tìm This PC, click chuột phải, Chọn thuộc tính Manage, Mở Services: Ấn S để tìm thấy SQL EXPRESS: 5
Click vào nút xanh phía trên để Restart.
Disconect SQL Server và đăng nhập SQL với user abc vừa tạo => OK 6
B3. Khởi động Visual Studio, Chọn Asp.net Web Application
Chọn Empty và check web API
B4. Tạo model: Ở Models, Add ->New Item->Data->ADO.Net Entity Data Model, đặt tên cho Model: 7
=> Kết nối Model tới CSDL: - Chọn New connection
- Lấy server name từ SQL Server, kết nối dạng sql Server Authentication (với User name:abc; Pass:123456)
- Nó sinh ra 1 entities framework 8 - Chọn hết các bảng 9 - Models sinh ra:
B5. Tạo các lớp controllers: SanPham, DanhMuc - Chọn Web API 2 Empty
- Đặt tên cho các Controller 10
- Tương tự tạo Controller cho bảng DanhMuc B6. Tạo các Web API 11 12
B7. Chạy thử các Web API (với [HttpGet])
B8. Cài đặt các Web API lên IIS Web Server B8.1. Cài đặt IIS 13
+ Vào Control panel chọn Programs and Features
+ Chọn Turn Windows features on or off:
+ Tiến hành lựa chọn để cài IIS Web Server theo màn hình dưới đây: 14
B8.2. Cài đặt Web API lên IIS Web Server
+ Sau khi cài xong IIS Web Server, bạn quay lại màn hình Control panel, bạn sẽ thấy Administrative Tools:
+ Ta click vào biểu tượng Administrative Tools, ta có giao diện tiếp theo: 15
+ Ta chọn “Internet Information Services (IIS) Manager” như hình trên:
Trong màn hình quản trị bạn thấy có 2 vùng: Application Pools và Default Web site.
+ Cấu hình Application Pools:
Ta bấm chuột phải vào mục Application Pools/ chọn Add Application Pool…
Màn hình tạo mới Application Pool hiển thị lên, ta nhập “testpool” rồi bấm OK:
Sau khi bấm OK, bạn quan sát: 16
Ở màn hình trên bạn tiếp tục chọn Advanced Settings.. cho testpool:
Bạn cần chỉnh ApplicationPoolIdentity qua LocalSystem.
+ Cấu hình WebService lên IIS Server
- Bấm chuột phải vào Default Web Site / chọn Add App 17
- Màn hình hiển thị Add Application:
- Mục Alias (1): Đặt tên cho Service, ở đây ta đặt hocrestful
-
Mục Application pool (2): Nhấn nút Select… và chọn đúng testpool
- Mục Physical path (3): Trỏ tới đường dẫn chứa source code của project
Sau đó bấm OK để tạo, ta quan sát kết quả:
- Ta mở 1 trình duyệt bất kỳ, chạy dòng lệnh sau (hoặc chọn hocrestful, click vào
http://localhost/hocrestful/api/sanpham - Quan sát kết quả: 18
http://localhost/hocrestful/api/sanpham chính là kết quả sau khi cấu hình xong. Tới
đây hệ thống đã chạy 24/24.
Nếu có lỗi và không trả lại kết quả XML, ta cần đổi lại cổng:
Là do có một chương trình nào đó đã dùng cổng 80. Chúng ta chỉnh lại cổng cho IIS như sau:
Click vào Default Web Site, chọn vào mục Bindings… ở bên phải, phía trên: 19
Remove tất cả các cổng và chỉ giữ lại 1 cổng 8000
Sau đó Click vào Edit, sửa thành cổng 90, OK:
Chạy lại Web API: quan sát link có localhost:90
Nếu đổi lại cổng 90 rồi mà vẫn lỗi thì Click nút “Start” như sau: 20